当您在同一视图中有两个图表时,如何独立显示或隐藏 Primefaces 图表图例?

How to show or hide Primefaces chart Legend independently when you have two charts in the same view?

我在同一页上有 2 个图表。我只想在一个图表中显示图例,而不是同时显示两个图表,但我只有一个全局解决方案。那是我的 javascript 代码:

$.jqplot.preDrawHooks.push(function () {
this.legend.show = true;});

和我的 xhtml:

<p:chart id="chart17" responsive="true" type="bar"  model="#{chart17Bean.barModel}"  />
<p:chart id="chart18" responsive="true" type="bar"  model="#{chart18Bean.barModel}" />

已编辑:我使用的是 Primefaces 6.1

页面添加此JS函数

function removeLegend() 
{
     this.cfg.legend = {
          show: false
     };
}

然后在您的托管 bean 中添加

barModel.setExtender("removeLegend");

其中 barModel 是您想要隐藏图例的图表模型。

解决了我的问题

yourChart.options = {
          legend: {
            display: false,
           }
      };

Primefaces 8,Chart Js,您可以将图例显示设置为 false

Legend legend = new Legend();
legend.setDisplay(false);
options.setLegend(legend);