2

假设您有一个折线图,其中显示了图片上的系列。当您使用 EnhancedLegendRenderer 打开和关闭系列时,系列会在隐藏和可见之间切换。这就是它应该的样子。但问题是,我希望保持可见的系列可以缩放,以便具有最高 y 值的系列位于图表顶部,同时调整 y 轴上的值。下图显示了当我将具有最高值的系列切换为隐藏时的外观。

有没有一种简单或先进的方法来做到这一点?我试图通过从数据中删除它并创建一个新的 jqplot 来完全从图表中删除该系列。但后来它也不再出现在图例中。还尝试了不同的方法 chart.series[i].show = false; chart.replot(); 等,但结果相同。

绘图图像 绘图图像

4

2 回答 2

5

还有一个未记录的 renderOption 你可以使用它来做同样的事情:

seriesToggleReplot: { resetAxes: true }

所以我的传说是这样的:

legend: {
    show: true,
    renderer: $.jqplot.EnhancedLegendRenderer,
    rendererOptions:{
        seriesToggleReplot: { resetAxes: true }
    },
    placement: 'outside'
}
于 2013-02-12T10:28:56.297 回答
0

没有找到任何真正的内置解决方案,所以我创建了自己的解决方法。

通过将图例中所选系列的每个 y 值设置为“0”,然后使用 chart.replot(),图表将使用剩余的系列值重新绘制。

var j = //index of chosen serie.
for(var i = 0;i < chart.series[j].data.length ;i++)
    {
      chart.series[j].data[i][1] = 0
      //1 is the index of the y-value.
    }
于 2012-11-07T22:42:44.863 回答