我正在尝试以编程方式打开和关闭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();
但是,这仍会显示点标签。
感谢您的帮助!
答案 0 :(得分:2)
虽然这篇文章很老,但我找到了解决问题的方法:
var data_ = [[1,1],[2,5],[4,9]];
var graph = $.jqplot(id_graph, [data_], {
series:[{pointLabels: { show:true } }]
}
);
graph.series[0].plugins.pointLabels.show=false;
graph.replot();
而不是使用
graph.series[0].pointLabels.show=false;
使用
graph.series[0].plugins.pointLabels.show=false;
就我而言,这很有用。
答案 1 :(得分:1)
我认为你想要的实际上是showMarker
选项。由于在此代码中您没有设置点标签,因此它们永远不会显示。 showMarker
可让您打开/关闭图表的点。
这是你的事实吗?否则请提供您使用的示例。
Here is a sample made for a similar issue.
Please see this sample.点击按钮,可以更改制造商的可见性。
<强>更新强> This sample shows the solution,它使用上面介绍的方法,即在更改“点”标签的同时重新绘制图表。新参数。
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();
});
});
在这种情况下,我无法弄清楚如何使用drawSeries(...)
重新绘制单个系列,正如@Mark为marker
所示,这是一个很好的做法这里。
答案 2 :(得分:1)
添加到Boro的答案,如果你想在一个系列上切换标记,那么它会更快:
graph.drawSeries({markerOptions:{show:false}},seriesIndex); //redraw single series
对于大量系列,调用重新绘制可能会很昂贵。
Revved fiddle here。