gpt4 book ai didi

javascript - 通过 slider 更改 Highchart 图形振幅

转载 作者:行者123 更新时间:2023-11-30 21:00:54 24 4
gpt4 key购买 nike

这里完全是新手。从 Spline 每秒更新一次,我想通过 slider 更改图形的振幅(这意味着随机生成的数字的范围)。如何实现?

我可以更改变量,但是代表振幅的变量 y 在函数内部,不幸的是我的解决方案都没有奏效。

这是代码

<html>
<head>
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
<script src="https://code.highcharts.com/highcharts.js"></script>
<script src="https://code.highcharts.com/modules/exporting.js"></script>


</head>

<body>
<div id="container" style="min-width: 310px; height: 400px; margin: 0 auto"></div>
<script>
$(document).ready(function () {
Highcharts.setOptions({
global: {
useUTC: false
}
});

Highcharts.chart('container', {
chart: {
type: 'spline',
animation: Highcharts.svg, // don't animate in old IE
marginRight: 10,
events: {
load: function () {

// set up the updating of the chart each second
var series = this.series[0];
setInterval(function () {
var x = (new Date()).getTime(), // current time
y = Math.random();
series.addPoint([x, y], true, true);
}, 1000);
}
}
},
title: {
text: 'Live random data'
},
xAxis: {
type: 'datetime',
tickPixelInterval: 150
},
yAxis: {
title: {
text: 'Value'
},
plotLines: [{
value: 0,
width: 1,
color: '#808080'
}]
},
tooltip: {
formatter: function () {
return '<b>' + this.series.name + '</b><br/>' +
Highcharts.dateFormat('%Y-%m-%d %H:%M:%S', this.x) + '<br/>' +
Highcharts.numberFormat(this.y, 2);
}
},
legend: {
enabled: false
},
exporting: {
enabled: false
},
series: [{
name: 'Random data',
data: (function () {
// generate an array of random data
var data = [],
time = (new Date()).getTime(),
i;

for (i = -19; i <= 0; i += 1) {
data.push({
x: time + i * 1000,
y: Math.random()
});
}
return data;
}())
}]
});
});
</script>

</body>

如何添加 slider ,可以控制加载时变量y的值?

提前致谢。

最佳答案

引用这个现场演示:http://jsfiddle.net/kkulig/4y120nbo/

我将对 HTML slider 的引用放在比 load 函数“更高”的范围内。我使用 rangeForm.value 来操纵生成数字的幅度:

    // set up the updating of the chart each second
var series = this.series[0];
setInterval(function() {
var x = (new Date()).getTime(), // current time
y = Math.random() * rangeForm.value;
series.addPoint([x, y], true, true);
}, 1000);

关于javascript - 通过 slider 更改 Highchart 图形振幅,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47144308/

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