gpt4 book ai didi

javascript - 更改图形类型时强制 Highcharts 重绘动画

转载 作者:行者123 更新时间:2023-11-29 19:10:58 26 4
gpt4 key购买 nike

我有一堆默认情况下以折线图形式显示的图表。我在图表的一侧添加了按钮,以允许用户将其更改为饼图、条形图、区域样条曲线或返回直线。

当用户点击按钮时,它运行这个函数:

function change_graph_type(moduleNumber, type) {

graph_type = type;

var chart = $('#graph' + moduleNumber).highcharts();

for ( i=0;i<chart.series.length;i++ ) {
chart.series[i].update({
type : graph_type
});
//chart.redraw(); //I've tried adding this here to no avail...
}
}

代码改变了每个系列,例如- 线到条形图,或条形图到区域样条线,但我无法弄清楚当用户切换到该新图形类型时如何获得“动画”,因此它仅在用户第一次生成图表时运行。

最佳答案

我尝试了很多方法,但没有这样的函数可以在 redraw 之后触发 animation

所以在下面创建了这个可能有帮助的快速而肮脏的方法

http://jsfiddle.net/msekpj8m/

$(function() {
var chartOptions = {
xAxis: {
categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
showEmpty: false
},
chart: {
type: 'column'
},
yAxis: {
showEmpty: false
},

series: [{
allowPointSelect: true,
data: [ // use names for display in pie data labels
['January', 29.9],
['February', 71.5],
['March', 106.4],
['April', 129.2],
['May', 144.0],
['June', 176.0],
['July', 135.6],
['August', 148.5], {
name: 'September',
y: 216.4,
selected: true,
sliced: true
},
['October', 194.1],
['November', 95.6],
['December', 54.4]
],
marker: {
enabled: false
},
showInLegend: true
}]
};
var container = $('#container');
container.highcharts(chartOptions);

// Set type
$.each(['line', 'column', 'spline', 'area', 'areaspline', 'scatter', 'pie'], function(i, type) {
$('#' + type).click(function() {
container.highcharts().destroy();
chartOptions.chart.type = type;
container.highcharts(chartOptions);
});
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://code.highcharts.com/highcharts.js"></script>

<div id="container" style="height: 400px"></div>

<button id="column" style="margin-left: 2em">Column</button>
<button id="line">Line</button>
<button id="spline">Spline</button>
<button id="area">Area</button>
<button id="areaspline">Areaspline</button>
<button id="scatter">Scatter</button>
<button id="pie">Pie</button>

关于javascript - 更改图形类型时强制 Highcharts 重绘动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38882089/

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