Javascript 如何使用jqplot绘制序列的子集?

Javascript 如何使用jqplot绘制序列的子集?,javascript,jqplot,Javascript,Jqplot,我需要在同一张画布上画三个系列。该系列类似于: 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.Can

我需要在同一张画布上画三个系列。该系列类似于:

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];

我已经制作了一个JSFIDLE来展示这一点(我刚刚从您的示例中将点
[3,150]
移动到
[3,90]
,以便您看到其标签的正确位置):

不清楚,看起来不错@dfsq感谢您的回复,但我无法通过参考您提供的链接来帮助自己。您使用的是jqPlot的哪个版本?我也试过了,我也没有问题…@Samuelcailerie jqplot的1.0.8版。我不确定我的程序是否做错了什么。但我已经尽了最大的努力,非常感谢。我尝试了你发布的方法,它完全按照我想要的方式工作。