我需要在同一张画布上绘制三个系列。该系列类似于:
rec1 = [0, 0, 150, 200, 0 ];
rec2 = [60, 120, 179, 240, 300];
rec3 = [50, 100, 150, 200, 250];
我使用以下源代码绘制该系列。
$.jqplot("chart", [rec1, rec2, rec3], {
title: "",
axesDefaults: {
tickRenderer: $.jqplot.CanvasAxisTickRenderer,
tickOptions: {
fontSize: '10pt'
}
},
seriesDefaults: {
rendererOptions: {
smooth: false
},
pointLabels: {
show: true,
ypadding: 10
},
showMarker: true,
lineWidth: 2
},
legend: {
show: true,
location: 'nw',
placement: "outside"
}
});
在rec1中,值为零的元素将始终为零。我想在rec1中隐藏这些零值元素。有什么办法可以实现这一目标?
将rec1设置为:
rec1 = [undefined, undefined, 150, 200, undefined]
将隐藏这些未定义的点,但是导致点标记150和200出现在错误的位置,如图所示。
感谢您提供任何有用的指示。
最佳答案
除了使用“平面”数组,还应使用二维数组来放置点:
rec1 = [[3, 150], [4, 200] ]; // we defined 2 points with their (x, y) coordinates
rec2 = [60, 120, 179, 240, 300];
rec3 = [50, 100, 150, 200, 250];
我做了一个jsfiddle来显示此内容(我只是从您的示例中将
[3, 150]
移至[3, 90]
以便您看到其标签的正确位置):http://jsfiddle.net/5wgcqyet/1/关于javascript - 如何用jqplot绘制系列的子集?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26250916/