javascript - 谷歌图表 : “Uncaught (in promise) Error: Unknown header type: 4.7278” error

标签 javascript php jquery charts google-visualization

我正在尝试通过 google charts 显示汇率折线图.

基本上我有两种类型的值:

  1. 日期(iso8601 格式)
  2. 费率(小数)

当我尝试渲染图表时出现错误:“未捕获( promise )错误:未知 header 类型:4.7278”

这是我的代码:

PHP数组制作:

        $xml=simplexml_load_file('https://www.ecb.europa.eu/stats/policy_and_exchange_rates/euro_reference_exchange_rates/html/usd.xml') or die("Error: Cannot create object");
    $arrayForChart[] = ["Date","Rate"];
    foreach ($xml->DataSet->Series->Obs as $key => $value) {
        $dateIso8601Format=(string)$value['TIME_PERIOD'];
        $rateForDate=(string)$value['OBS_VALUE'][0];
        $rateForDate=(float)$rateForDate;
        $arrayForChart[] = [$dateIso8601Format,$rateForDate];
    }
    $arrayForChart = json_encode($arrayForChart);

Javascript

var arrayForChart;
$.ajax({
    type: "POST",
    url: ajaxUrl,
    //data: {configuration: Config },
    success: function (data) {

        arrayForChart = data;
        arrayForChart = $.map(arrayForChart, function (el) {
            return el;
        });//converting js object to js array

    },
    cache: false
});
google.charts.load("current", {packages: ["corechart", "line"]});
google.charts.setOnLoadCallback(drawLineColors);

function drawLineColors() {

    var data = google.visualization.arrayToDataTable([arrayForChart]);

    var options = {
        hAxis: {
            title: "Rate",
            id: "Rate",
            label: "Rate",
            type: "number"
        },
        vAxis: {
            title: "Date",
            id: "Date",
            label: "Date",
            type: "string"
        },
        colors: ["#a52714", "#097138"]
    };

    var chart = new google.visualization.LineChart(document.getElementById("chart_div"));
    chart.draw(data, options);
}

数据样本:

["Date","Rate","2011-01-03",4.7278,"2011-01-04",4.7301,"2011-01-05",4.6814,"2011-01-06",4.6635]

谁知道问题出在哪里?

非常感谢!

最佳答案

Google 图表需要一组数组。您似乎正在为它提供一个平面阵列。例如

Array('date', 'value', 1,2,3,4);

应该是

Array(
    Array(date, value),
    Array(1, 2),
    Array(3, 4)
);

关于javascript - 谷歌图表 : “Uncaught (in promise) Error: Unknown header type: 4.7278” error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44914500/

相关文章:

php - cakephp 按不同分组

php - undefined index 传递变量与 javascript 到 php

php - 如何根据日期时间搜索计算特殊日期和正常日期的总金额

javascript - onMouseOut 在没有鼠标离开 div 的情况下触发

javascript - Angularjs 在移动设备上出现 ng-click 问题

javascript - 使用 JavaScript/JQuery 通过 AJAX 传递数组

javascript - 使用 Javascript 添加文本框

javascript - 获取我的数据库值作为字符串并将其传递给我的 javascript 函数 PHP

javascript - Firefox 和 Chrome 中的 Bootstrap 模态轮播高度问题

javascript - 带单选框的 ng-repeat 未在更改时触发