在 jqplot 中打开和关闭 pointLabels

use*_*496 5 jqplot

我正在尝试以编程方式打开和关闭 pointLabels。我认为它会像这样工作:

    var data_ = [[1,1],[2,5],[4,9]];
    var graph = $.jqplot(id_graph, [data_], {
        series:[{pointLabels: { show:true } }]
        }
      );
    graph.series[0].pointLabels.show=false;
    graph.replot();
Run Code Online (Sandbox Code Playgroud)

但是,这仍然显示点标签。

谢谢你的帮助!

Bor*_*oro 1

我认为你想要的实际上是showMarker选择。由于在此代码中您没有设置点标签,因此它们永远不会显示。可以showMarker让您打开/关闭图表的点。

这就是你真正追求的吗?否则,请提供您使用的示例。

这是针对类似问题制作的示例。

请参阅此示例。单击按钮即可更改制造商的可见性。


更新: 此示例显示了解决方案,它使用上面介绍的方法,即在更改“pointLabels”新参数的同时重新绘制绘图。

jQuery(document).ready(function () {
    var data = [
        [1, 1],
        [2, 5],
        [4, 9]
    ];
    var graph;
    var isShowPointLabels = true;

    function makePlot(showPointLabels) {
        graph = $.jqplot("chart", [data], {
            series: [{
                pointLabels: {
                    show: showPointLabels
                }
            }]
        });
    }
    makePlot(isShowPointLabels);
    $("#click").click(function () {
        isShowPointLabels = !isShowPointLabels;
        makePlot(isShowPointLabels);
        graph.replot();
    });
});
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我无法弄清楚如何使用drawSeries(...)重新绘制单个系列,如@Mark所示marker,这将是一个很好的做法。