无法正确重新绘制条形图

时间:2013-07-31 06:16:58

标签: jqplot

我有一个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].dataplot1.series[1].data来重新绘制图表时,它仅绘制“CENTER 1”Tick。

有人可以帮助我。

1 个答案:

答案 0 :(得分:2)

你走向正确的道路:

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

Jsfiddle link

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