【问题标题】:Draw Google Line Chart with multiple missing values绘制具有多个缺失值的谷歌折线图
【发布时间】:2015-06-06 11:11:16
【问题描述】:

我从 Google 折线图参考中复制了这段代码并做了一些小改动:

function drawChart() {

    var data = new google.visualization.DataTable();
    data.addColumn('number', 'Dag');
    data.addColumn('number', 'Målvikt');
    data.addColumn('number', 'Uppmätt vikt');


    data.addRows([
      [1, 37.8, 55.0],
      [2, null, 69.5],
      [3, null, 57],
      [4, null, 18.8],
      [5, null, 17.6],
      [6, null, 13.6],
      [7, null, 12.3],
      [8, null, 29.2],
      [9, null, 42.9],
      [10, null, 30.9],
      [11, null, 7.9],
      [12, null, 8.4],
      [13, null, 6.3],
      [14, 30.8, 6.2]
    ]);

    var options = {
        chart: {
            title: 'Box Office Earnings in First Two Weeks of Opening',
            subtitle: 'in millions of dollars (USD)',
            interpolateNulls: true
        },
        width: 900,
        height: 500
    };

    var chart = new google.charts.Line(document.getElementById('linechart_material'));

    chart.draw(data, options);
}

我的第一行根本没有生成。 如您所见,我只想给出名为“Målvikt”的曲线的第一个和最后一个值,并在它们之间画一条直线。我找到了this related question 并添加了interpolateNulls: true,但实际上它并没有解决我的问题。 然后我将除一个之外的所有空值更改为某个值,但它的邻居之间仍然没有线。我做错了什么?

【问题讨论】:

    标签: charts google-visualization


    【解决方案1】:

    google.charts.Line 组件似乎不支持interpolateNulls 选项。

    其次,指定interpolateNulls选项有错别字。

    由于interpolateNulls属性不属于chart属性根据Configuration Options,该行:

    var options = {
        chart: {
            interpolateNulls: true
        }
    };
    

    应替换为:

    var options = {
        interpolateNulls: true
    }; 
    

    话虽如此,我还是建议使用来自corechart 包的google.visualization.LineChart,而不是来自line 包的google.charts.Line 组件。在这种情况下,interpolateNulls 选项可以应用,如下所示:

    工作示例

    google.load('visualization', '1.1', { packages: ['corechart'] });
    google.setOnLoadCallback(drawChart);
    
    
    function drawChart() {
    
        var data = new google.visualization.DataTable();
        data.addColumn('number', 'Dag');
        data.addColumn('number', 'Målvikt');
        data.addColumn('number', 'Uppmätt vikt');
    
    
        data.addRows([
         [1, 37.8, 55.0],
         [2, null, 69.5],
         [3, null, 57],
         [4, null, 18.8],
         [5, null, 17.6],
         [6, null, 13.6],
         [7, null, 12.3],
         [8, null, 29.2],
         [9, null, 42.9],
         [10, null, 30.9],
         [11, null, 7.9],
         [12, null, 8.4],
         [13, null, 6.3],
         [14, 30.8, 6.2]
        ]);
    
        var options = {
            title: 'Box Office Earnings in First Two Weeks of Opening',
            subtitle: 'in millions of dollars (USD)',
            interpolateNulls: true,
            width: 900,
            height: 500
        };
    
        //var chart = new google.charts.Line(document.getElementById('linechart_material'));
        var chart = new google.visualization.LineChart(document.getElementById('linechart_material'));
    
    
        chart.draw(data, options);
    }
    <script type="text/javascript" src="https://www.google.com/jsapi"></script>
    <div id="linechart_material" style="width: 640px; height: 480px"></div>

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-05-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-02
      • 2023-04-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多