海图玛莉美歌图表刷新
Highcharts Marimekko chart refresh
本文关键字:刷新 更新时间:2023-09-26
下面的脚本构建了一个基本的Marimekko图表,其中x值是累积的。作为一种令人兴奋的数据绘制方式,这非常棒。http://jsfiddle.net/Guill84/1o926coh/
不幸的是,当您在图例中切换区域时,脚本只是"隐藏"相关区域,这意味着图表中存在间隙。如何修改此脚本,以便在每次切换图例中的按钮时重新计算"allSeries"数组?
重复并希望澄清我所追求的:他的想法是,如果我删除绿色区域,那么黑色和橙色系列应该是相邻的。
$(function () {
var rawData = [
{ name: 'A', x: 5, y: 5.6 },
{ name: 'B', x: 3, y: 10.1 },
{ name: 'C', x: 11, y: 1.2 },
{ name: 'D', x: 2, y: 17.8 },
{ name: 'E', x: 8, y: 8.4 }
];
function makeSeries(listOfData) {
var sumX = 0.0;
for (var i = 0; i < listOfData.length; i++) {
sumX += listOfData[i].x;
}
var allSeries = []
var x = 0.0;
for (var i = 0; i < listOfData.length; i++) {
var data = listOfData[i];
allSeries[i] = {
name: data.name,
data: [
[x, 0], [x, data.y],
{
x: x + data.x / 2.0,
y: data.y,
dataLabels: { enabled: false, format: data.x + ' x {y}' }
},
[x + data.x, data.y], [x + data.x, 0]
],
w: data.x,
h: data.y
};
x += data.x + 0;
}
return allSeries;
}
$('#container').highcharts({
chart: { type: 'area' },
xAxis: {
tickLength: 0,
labels: { enabled: true}
},
yAxis: {
title: { enabled: false}
},
plotOptions: {
area: {
lineWidth: 0,
marker: {
enabled: false,
states: {
hover: { enabled: false }
}
}
}
},
series: makeSeries(rawData)
});
});
让我知道你的想法!
原始脚本:如何更改高图表中条形的宽度?
再次感谢Pawel,这确实是问题的答案。
可能的解决方案看起来有点像这样:
legendItemClick: function () {
var pos = this.index;
var sname = this.name;
var chart = $('#container').highcharts();
while(chart.series.length > 0)
chart.series[0].remove(true);
rawData[pos]= { name: sname, x: 0, y: 0 };
... then update the series with the new array
}
相关文章:
- 强制模板刷新ember.js
- 如何通过ajax刷新JSF填充的javascript变量
- 如何解决Yii中的页面刷新问题
- Jquery提交表单而不刷新
- 刷新页面后会出现警报
- 刷新后保留对网页的更改
- 如何在不刷新页面的情况下更新显示框
- 重定向时角度刷新浏览器
- 如何防止jQueryonclick事件中的Ruby方法在页面刷新时执行
- Javascript,输出结果后页面不断刷新
- $(document).height()在刷新时随机化值(Safari 5.1.10)
- 刷新父窗口后无法关闭窗口
- 刷新页面时hasClass不起作用
- X秒后刷新select元素
- chart.series[id].remove()无法刷新高位图表/高位股票中其他系列的图例属性
- 触发媒体查询断点时刷新页面
- 如何刷新列表框内容onclick或blur事件
- 如何在火狐浏览器中禁用F5和刷新
- 刷新后,setTimeout将工作或不工作
- 刷新导致我的帖子“;张贴“;再一次