谷歌图表:"无法阅读属性&to toLowerCase'未定义"

时间:2014-10-29 00:13:08

标签: javascript google-visualization google-chartwrapper

我尝试生成一个谷歌图表。它返回" 无法读取属性' toLowerCase'未定义的"在图表区域但控制台中没有错误。

function drawChart(chart_data, chartType, chartOptions){

           console.log(chartOptions);

            var data = new google.visualization.DataTable(chart_data);

            var chart = new google.visualization.ChartWrapper({

                chartType: chartType,
                dataTable: data,
                options: chartOptions,
                containerId: 'chart'

            });

            chart.draw();
        }

console.log的结果是一个看起来像的字符串:

{"title":"test","vAxis":{"minValue":"0"},"hAxis":{"showTextEvery":"1"},"chartArea":{"width":"70%","height":"90%"},"pointSize":"7","height":"500","intervals":{"lineWidth":2,"barWidth":0.5,"color":"#000000"}} 

如果我使用(复制粘贴)console.log的结果而不是chartOptions作为options,则图表会完美显示。

我在这里缺少什么?

1 个答案:

答案 0 :(得分:1)

我能想到的唯一解释(假设复制粘​​贴工作正常),就是在一个实例中你发送一个字符串,当你复制粘贴它时,你就有了一个对象。

enter image description here

因此,如果您查看控制台日志,它应该看起来像上图中的第一个。如果它看起来像第二个,你需要做

chartOptions = JSON.parse(chartOptions);

var chart = new google.visualization.ChartWrapper({
              chartType: chartType,
              dataTable: data,
              options: chartOptions,
              containerId: 'chart'
            });