0

我有一个如下所示的 jqplot

var s1 = [200, 600, 700];
var s2 = [460, -210, 690];

var ticks = ['CENTER 1', 'CENTER 2', 'CENTER 3'];
plot1 = $.jqplot('chart1', [s1, s2], {

seriesDefaults: {
    renderer: $.jqplot.BarRenderer,
    rendererOptions: { fillToZero: true }
    },

axes: {
    xaxis: {
        renderer: $.jqplot.CategoryAxisRenderer,
        ticks: ticks
    },

yaxis: { pad: 1.05 }
    }

});
plot1.legend.show = false;

当我尝试通过设置重新绘制图形plot1.series[0].data并且plot1.series[1].data 它仅绘制“CENTER 1”刻度时。

任何人都可以帮助我。

4

1 回答 1

2

你走在正确的道路上:

只是当您更新时plot1.series[0].data,您需要以这种格式提供带有 [[x,y],[x,y]] 的数据数组。我认为您现在只是在提供价值。

Jsfiddle 链接

var s1 = [260, 600, 700];
var s2 = [460, -250, 690];

var ticks = ['CENTER 1', 'CENTER 2', 'CENTER 3'];
plot1 = $.jqplot('chart1', [s1, s2], {

seriesDefaults: {
    renderer: $.jqplot.BarRenderer,
    rendererOptions: { fillToZero: true }
    },

axes: {
    xaxis: {
        renderer: $.jqplot.CategoryAxisRenderer,
        ticks: ticks
    },

yaxis: { pad: 1.05 }
    }

});
plot1.legend.show = false;

var s3 = [[1,200], [2,-200],[3, 200]];
plot1.series[0].data = s3;
plot1.replot(true);
于 2013-07-31T14:41:19.297 回答