Highcharts : point.key 太长,让图表变小

Highcharts : point.key is too long and make chart small

我正在使用 highchartsjsf,但我遇到了一个我不知道如何解决的问题。

问题是 point.key 太长了,它隐藏了它自己的图表,我需要保持相同的高度,我想做的是通过使用 ( substring(0.15) 例如)但同时我希望完整的 point.key 显示在 tool-tip header.

这是我的问题的图片

:

这是我的代码:

$('#container-2')
                        .highcharts(
                                {
                                    lang : {
                                        printChart : '#{msg['DB_graph_lib1']}',
                                        downloadPNG : '#{msg['DB_graph_lib2']}',
                                        downloadJPEG : '#{msg['DB_graph_lib3']}',
                                        downloadPDF : '#{msg['DB_graph_lib4']}',
                                        downloadSVG : '#{msg['DB_graph_lib5']}',
                                        contextButtonTitle : 'Context menu'
                                    },
                                    chart : {
                                        type : 'column'
                                    },
                                    colors : [ '#808080' ],
                                    title : {
                                        text : '#{msg['DB_graph_title3']}'
                                    },
                                    subtitle : {
                                        text : ''
                                    },
                                    xAxis : {
                                        type : 'category',
                                        labels : {
                                            rotation : -45,
                                            style : {
                                                fontSize : '13px',
                                                fontFamily : 'Verdana, sans-serif'
                                            }
                                        }
                                    },
                                    yAxis : {
                                        max : 100,
                                        min : 0,
                                        title : {
                                            text : '#{msg['DB_graph_lib']} (%)'
                                        }
                                    },
                                    legend : {
                                        enabled : false
                                    },
                                    tooltip : {
                                        pointFormat : '#{msg['DB_graph_lib']} : <b>{point.y:.1f} %</b>'
                                    },
                                    series : [ {
                                        name : '#{msg['DB_graph_lib']}',
                                        data : [
                                                <ui:repeat value="#{homeSupBean.campagnes}" var="camp">[
                                                        '#{camp.name}',
                                                        #{homeSupBean.campagneProg[camp.id.toString()]}],
                                                </ui:repeat> ],

                                        dataLabels : {
                                            enabled : true,
                                            rotation : -90,
                                            color : '#FFFFFF',
                                            align : 'right',
                                            format : '{point.y:.1f}', 
                                            y : 10, 
                                            style : {
                                                fontSize : '15px',
                                                fontFamily : 'Verdana, sans-serif'
                                            }
                                        }
                                    } ]
                                });

如果有人可以提供帮助或有更好的想法,请不要犹豫,谢谢。

谢谢@Pawel Fus 先生,我找到了与您提出的类似的解决方案。

就是在xAxis中添加Categorie{},把我的逻辑放在里面,效果很好。

这是我的代码:

$('#container-2')
                        .highcharts(
                                {
                                    lang : {
                                        printChart : '#{msg['DB_graph_lib1']}',
                                        downloadPNG : '#{msg['DB_graph_lib2']}',
                                        downloadJPEG : '#{msg['DB_graph_lib3']}',
                                        downloadPDF : '#{msg['DB_graph_lib4']}',
                                        downloadSVG : '#{msg['DB_graph_lib5']}',
                                        contextButtonTitle : 'Context menu'
                                    },
                                    chart : {
                                        type : 'column'
                                    },
                                    colors : [ '#808080' ],
                                    title : {
                                        text : '#{msg['DB_graph_title3']}'
                                    },
                                    subtitle : {
                                        text : '',
                                    },
                                    xAxis : {
                                        //here is the solution
                                        categories: [
                                                      <ui:repeat value="#{homeSupBean.campagnes}" var="camp">
                                                        ['<h:outputText value="#{camp.name.substring(0,5)} ..." />'],
                                                     </ui:repeat>
                                                     ],
                                        //Solution ends here                                                         
                                        type : 'category',
                                        labels : {
                                            rotation : -45,
                                            style : {
                                                fontSize : '13px',
                                                fontFamily : 'Verdana, sans-serif'
                                            }
                                        }
                                    },
                                    yAxis : {
                                        max : 100,
                                        min : 0,
                                        title : {
                                            text : '#{msg['DB_graph_lib']} (%)'
                                        }
                                    },
                                    legend : {
                                        enabled : false
                                    },
                                    tooltip : {
                                        pointFormat : '#{msg['DB_graph_lib']} : <b>{point.y:.1f} %</b>'
                                    },
                                    series : [ {
                                        name : '#{msg['DB_graph_lib']}',
                                        data : [
                                                <ui:repeat value="#{homeSupBean.campagnes}" var="camp">[
                                                        '#{camp.name}',
                                                        #{homeSupBean.campagneProg[camp.id.toString()]}],
                                                </ui:repeat> ],

                                        dataLabels : {
                                            enabled : true,
                                            rotation : -90,
                                            color : '#FFFFFF',
                                            align : 'right',
                                            format : '{point.y:.1f}', 
                                            y : 10, 
                                            style : {
                                                fontSize : '15px',
                                                fontFamily : 'Verdana, sans-serif'
                                            }
                                        }
                                    } ]
                                });