Google Charts - 无法呈现一行

时间:2011-06-12 07:18:23

标签: charts google-visualization

我有以下脚本。它没有渲染2006年的数据。我的脚本有问题吗? (数据:联合国千年发展目标,并非所有数据都有数据)

<html>
<head>
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load("visualization", "1", { packages: ["corechart"] });


google.setOnLoadCallback(drawChart);
function drawChart() {
    var data = new google.visualization.DataTable();

    data.addColumn('string', 'Year');
    data.addColumn('number', 'Afghanistan');
    data.addColumn('number', 'India');

    data.addRow(["1993", null, 61.9]);
    data.addRow(["1999", null, 65.1]);
    data.addRow(["2000", 36.9, 61.8]);
    data.addRow(["2003", 16.1, null]);
    data.addRow(["2006", null, 74.2]);

    new google.visualization.AreaChart(document.getElementById('chart_div')).draw(data, {
        curveType: "function"
 , width: 768, height: 908

 , title: 'Target 5.B: Achieve, by 2015, universal access to reproductive health. Antenatal care coverage, at least 1 visit.'
 , vAxis: { title: 'Percent' }

    });

}
</script>

</head>
<body>

<div id='chart_div'></div>
</body>
</html>

enter image description here

2 个答案:

答案 0 :(得分:1)

如果数据点在其旁边的数据点中没有任何值,则AreaChart似乎不会绘制任何内容。对于任何数据点两侧的空值(或图的边缘),该区域的宽度为0.我会说这是图表API的一个错误(它应该在这里绘制一个宽度为1的区域) case),您可能要提交here

与此同时,您可能希望使用其他图表类型。散点图是否合适?它的优点是不会在数据点之间显示潜在的误导线。例如,在当前绘图中,绘制的线可能与数据的实际形状不匹配,因为您的数据很稀疏。说2001年到2003年之间有一个峰值,然后是蓝色数据的下降 - 区域图表类型似乎说明了一个不同的故事(直线斜率),而散点图不会告诉您确实存在的数据之间的任何虚假故事

答案 1 :(得分:1)

您可以使用堆积区域图表,它将显示类似于柱形图的所有数据点。