Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/443.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 更新am4charts.XYChart数据_Javascript_Html_Amcharts_Amcharts4 - Fatal编程技术网

Javascript 更新am4charts.XYChart数据

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

我正试图用javascript更新我的am4charts.XYChart的数据,但我不能

我尝试再次使用am4core.create(“chartdiv”,am4charts.XYChart);但我有一个警告

这是我的HTML代码图表

 <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
您可以找到有关如何更新图表的更多信息