gpt4 book ai didi

JQPlot 重绘。更新点标签

转载 作者:行者123 更新时间:2023-12-05 08:01:35 25 4
gpt4 key购买 nike

我有一个条形图,我需要更新它的数据,还有一个 PointLabels。数据正在更新,但 PointLabels 与之前的绘图相同。如何更新 PointLabels?

// here are labels.

var my_labels = [["2 g. <br /> 47$"],["2 g. <br /> 48$"],["7 g. <br /> 49$"],[],["10 g. <br /> 51$"],["6 g. <br /> 52$"],["4 g. <br /> 53$"]];
$.jqplot.config.enablePlugins = true;
var s1 = [2, 6, 7, '' , 10, 6, 4];
var ticks = [47,48, 49, 50, 51, 52, 53];
// initializing plot
plot1 = $.jqplot('chart1', [s1], {
// Only animate if we're not using excanvas (not in IE 7 or IE 8)..
canvasOverlay: {
show: true,
objects: [
{verticalLine: {
name: 'barney',
x: 4,
lineWidth: 2,
color: 'gray',
shadow: false
}}
]
},
animate: !$.jqplot.use_excanvas,
seriesDefaults:{
renderer:$.jqplot.BarRenderer,

// setting labels to my own defined labels




pointLabels: { show: true, labels : my_labels, escapeHTML: false },
color: '#E6D49F'
},
axes: {
xaxis: {
renderer: $.jqplot.CategoryAxisRenderer,
ticks: ticks,
max: 100
}
},
highlighter: { show: false },

});

$('#chart1').bind('jqplotDataClick',
function (ev, seriesIndex, pointIndex, data) {
$('#info1').html('series: '+seriesIndex+', point: '+pointIndex+', data: '+data);
}
);
});
// reploting function call
setInterval(function(){replot()},4000);
var a = 1;
var labels;
// reploting function
function replot()
{
var data;

switch(a)
{
case 1:
data = [[1,4], [2,6], [3, 8],[4,0],[5, 9],[6, 7],[7, 3]];
labels = [["4 g. <br /> 47$"],["6 g. <br /> 48$"],["8 g. <br /> 49$"],[],["9 g. <br /> 51$"],["7 g. <br /> 52$"],["3 g. <br /> 53$"]];
break;
case 2:
data = [[1,3], [2,7], [3, 7],[4,0],[5, 8],[6, 6],[7, 4]];
labels = [["3 g. <br /> 47$"],["6 g. <br /> 48$"],["8 g. <br /> 49$"],[],["9 g. <br /> 51$"],["7 g. <br /> 52$"],["3 g. <br /> 53$"]];
break;
case 3:
data = [[1,5], [2,5], [3, 9],[4,0],[5, 10],[6, 8],[7, 2]];
labels = [["5 g. <br /> 47$"],["6 g. <br /> 48$"],["8 g. <br /> 49$"],[],["9 g. <br /> 51$"],["7 g. <br /> 52$"],["3 g. <br /> 53$"]];
break;
}
//updating data
plot1.series[0].data = data;
//trying to update pointlabels
plot1.series[0].pointLabels.labels = labels;
plot1.replot();
if(a == 3)
a = 0;
a++;
}

最佳答案

我遇到了同样的问题,并认为我做错了什么。但是现在看到别人有同样的问题,看来是插件本身的问题。

我从我的 comments 上的一个 own post 找到了解决这个问题的方法。

重新绘制后尝试直接更新包含点标签的 div,如下所示。

for(i=0;i<labels.length;i++){
$("#chart1").find('.jqplot-series-0.jqplot-point-'+i).html(''+labels[i]);
}

我希望有一天有人能提供更好的解决方案,而不是这种解决方法。

关于JQPlot 重绘。更新点标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12893989/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com