Хорошо. Я сделал этот пример, но это только показывает мне одно значение. Это потому, что charData [] (массив) содержит только одно значение? (В функции generateChartData)
То, что я хочу сделать случайное значение каждый второй и нажмите каждый раз, когда график на левой стороне ..
здесь пример (копировать/вставить)
<!DOCTYPE html>
<html>
<head>
<title>chart created with amCharts | amCharts</title>
<meta name="description" content="chart created using amCharts live editor" />
<!-- amCharts javascript sources -->
<script type="text/javascript" src="https://www.amcharts.com/lib/3/amcharts.js"></script>
<script type="text/javascript" src="https://www.amcharts.com/lib/3/serial.js"></script>
<!-- amCharts javascript code -->
<script type="text/javascript">
function getRandomArbitrary(min, max) {
return Math.random() * (max - min) + min;
}
var chartData = generateChartData();
function generateChartData() {
var chartData = [];
var firstDate = new Date();
firstDate.setSeconds(firstDate.getDate());
chartData.push({
date: firstDate,
temp: 0
});
return chartData;
}
var timeout;
setInterval(function() {
chart.dataProvider.shift();
var newDate = new Date();
var temp = Math.round(Math.random() * 40 + 100);
// dodamo podatek v graf
chart.dataProvider.push({
date: newDate,
temp: temp
});
if (timeout)
clearTimeout(timeout);
timeout = setTimeout(function() {
chart.validateData();
});
}, 1000);
var chart = AmCharts.makeChart("chartdiv", {
"type": "serial",
"theme": "light",
"dataProvider": chartData,
"valueAxes": [ {
"position": "left",
"title": "Temperatura v °C"
} ],
"graphs": [ {
"valueField": "temp"
} ],
"categoryField": "date",
"categoryAxis": {
"minPeriod": "mm",
"parseDates": true
}
});
</script>
</head>
<body>
<div id="chartdiv" style="width: 100%; height: 400px; background-color: #FFFFFF;" ></div>
</body>
</html>
Да, так как вы трогании с одним значением, сдвиг просто удаляет его при следующем вызове. Опустите вызов chart.dataProvider.shift() или, если вы хотите в конечном итоге начать удалять точки, вы можете обернуть это в проверку его длины [как в этом примере] (http://codepen.io/team/amcharts/ручка/816d3455a31ef901cd164edce4e4d538? редакторы = 0010). Заметьте, я изменил minPeriod на «ss», так как ваши данные поступают каждую секунду. Кроме того, FYI, это должен быть комментарий к моему ответу с деталями, отредактированными в ваш исходный вопрос, а не новый ответ, поскольку другие не получают уведомлений о новых ответах. – xorspark