我有一个jqplot条形图,当用户在下拉列表中更改值时,我想要更改图表数据。这是有效的,但是问题是条形图重新绘制,一个又一个,每次用户更改值。
如何更新或重新加载酒吧,而不再画整个事情?是否有任何属性值被设置?
图表数据根据ajax调用更改:
$.ajax({
url: '/Home/ChartData',type: 'GET',data: { Id: Id },dataType: 'json',success: function (data) {
$.jqplot('chartDiv',[a,b],CreateBarChartOptions(xAxis));
}});
function CreateBarChartOptions(xAxis) {
var optionsObj = {
title: 'Stat',axes: {
xaxis: {
renderer: $.jqplot.CategoryAxisRenderer,ticks: xAxis
},yaxis: { min: 0 }
},series: [{ label: 'A' },{ label: 'B'}],seriesDefaults: {
shadow: true,renderer: $.jqplot.BarRenderer,rendererOptions: {
barPadding: 8,barMargin: 10
}
},};
return optionsObj;
}
答复将非常感谢。谢谢。
解决方法
当您绘制新图表时,您要做的是调用jqPlot的.replot()方法。将您的ajax调用更改为:
$.ajax({
url: '/Home/ChartData',success: function (data) {
$.jqplot('chartDiv',CreateBarChartOptions(xAxis)).replot();
}});