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

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/

10-16 19:42