Javascript 更新am4charts.XYChart数据
我正试图用javascript更新我的am4charts.XYChart的数据,但我不能 我尝试再次使用am4core.create(“chartdiv”,am4charts.XYChart);但我有一个警告 这是我的HTML代码图表Javascript 更新am4charts.XYChart数据,javascript,html,amcharts,amcharts4,Javascript,Html,Amcharts,Amcharts4,我正试图用javascript更新我的am4charts.XYChart的数据,但我不能 我尝试再次使用am4core.create(“chartdiv”,am4charts.XYChart);但我有一个警告 这是我的HTML代码图表 <div id="chartdiv"></div> 这就是我初始化图表的方式 am4core.ready(function () { // Themes begin am4core.useTheme(am4the
<div id="chartdiv"></div>
这就是我初始化图表的方式
am4core.ready(function () {
// Themes begin
am4core.useTheme(am4themes_animated);
// Themes end
var chart = am4core.create("chartdiv", am4charts.XYChart);
var data = [];
for (var i = 0; i < jsonArray.length; i++) {
var newdate = new Date(jsonArray[i].timestamp);
data.push({date: newdate, value: jsonArray[i].columna_cierre});
}
chart.data = data;
// Create axes
var dateAxis = chart.xAxes.push(new am4charts.DateAxis());
dateAxis.renderer.minGridDistance = 60;
var valueAxis = chart.yAxes.push(new am4charts.ValueAxis());
// Create series
var series = chart.series.push(new am4charts.LineSeries());
series.dataFields.valueY = "value";
series.dataFields.dateX = "date";
series.tooltipText = "{value}"
series.tooltip.pointerOrientation = "vertical";
chart.cursor = new am4charts.XYCursor();
chart.cursor.snapToSeries = series;
chart.cursor.xAxis = dateAxis;
//chart.scrollbarY = new am4core.Scrollbar();
chart.scrollbarX = new am4core.Scrollbar();
});
am4core.ready(函数(){
//主题开始
am4core.useTheme(am4themes_动画);
//主题结束
var chart=am4core.create(“chartdiv”,am4charts.XYChart);
var数据=[];
for(var i=0;i
我想要一个函数来更新图表上的值和轴。
当我再次执行he am4core.create(“chartdiv”,am4charts.XYChart);我有这个错误
图表未被处理id-22
am4core。create
用于创建图表,而不是更新,这就是在同一个div上再次调用图表时出错的原因。库告诉您首先使用dispose
方法删除旧图表
如果要更新图表数据,只需更新图表的数据
数组,而不是再次调用create。如果要替换阵列或向其中添加数据,图表将自动更新自身:
chart.data = /* new array */
// or using addData
chart.addData([/* each element you want to add */])
如果要就地修改数据,请在进行更改后调用图表的invalidateData
或invalidateRawData
方法,例如chart.invalidateData()
理想情况下,您希望在am4core.ready
之外访问图表变量,因此在函数之外创建变量并在ready函数内部分配它可能是您的最佳选择:
var chart;
am4core.ready(function() {
// ...
chart = am4core.create(...); //assign to global variable
// ...
}));
//update chart using global variable
您可以找到有关如何更新图表的详细信息。
am4core.create
用于创建图表,而不是更新,这就是在同一个div上再次调用图表时出错的原因。库告诉您首先使用dispose
方法删除旧图表
如果要更新图表数据,只需更新图表的数据
数组,而不是再次调用create。如果要替换阵列或向其中添加数据,图表将自动更新自身:
chart.data = /* new array */
// or using addData
chart.addData([/* each element you want to add */])
如果要就地修改数据,请在进行更改后调用图表的invalidateData
或invalidateRawData
方法,例如chart.invalidateData()
理想情况下,您希望在am4core.ready
之外访问图表变量,因此在函数之外创建变量并在ready函数内部分配它可能是您的最佳选择:
var chart;
am4core.ready(function() {
// ...
chart = am4core.create(...); //assign to global variable
// ...
}));
//update chart using global variable
您可以找到有关如何更新图表的更多信息