我正在使用Primefaces整理一个非常基本的堆积条形图。图表本身似乎很好。但是,图例被放置在图表数据上。我知道你可以将图例移动到任何罗盘序号(n,s,w,e,se,sw,ne,nw),但我实际上想把它移出数据。
获取它的代码:
<p:barChart id="stackedKWH" value="#{kwhSalesBeanManager.kwhSalesChart}" legendPosition="e" style="height:300px;width:800px" title="kWh Sales by Type" stacked="true" barMargin="10" min="0" max="125000000" />
目前的样子。想将图例从图表中移到右边。
答案 0 :(得分:5)
尝试添加:
function extLegend()
{
this.cfg.legend= {
show: true,
location: 's',
placement: 'outsideGrid'
};
}
并在barChart
组件中添加:
extender="extLegend"
答案 1 :(得分:5)
现在最好的解决方案是在图表模型上定义placemant:
...
modelChart.setLegendPlacement(LegendPlacement.OUTSIDE);
...
答案 2 :(得分:0)
看起来你应该使用javascript来达到这个目的。 类似的东西:
var legend = $('table.jqplot-table-legend')[0];
legend.setAttribute('style', 'position: absolute; z-index: 3; right: -100px; top: 25px;');
我在此页面上对其进行了测试:http://www.primefaces.org/showcase/ui/barChart.jsf