如何根据传递给它的数据制作Google Charts饼图更改大小?

问题描述:

我想要有三张饼图,可以这么说,每张图都只有一张,因为只有一张数据会传递给它。因此对于例如一个饼图将是本月购买的汽车数量,下一张图表将包含上个月购买的汽车数量,最终的图表将包含今年购买的汽车总数。如果本月购买的汽车数量是1200,而上个月购买的汽车数量是2000,那么我希望将其反映在饼图的大小上。我知道它关系到如何根据传递给它的数据制作Google Charts饼图更改大小?

width: and height: 
在配置选项

,我只是不知道如何动态地应用这一点,因为它会每天等

上改变我一直在使用一个馅饼考虑 - 图表,但使用三个单独的图表会更好地适应这种情况。

您没有包含任何代码或您如何使用Google图表API的解释。但从你应该有JavaScript的一个选项对象是这样的:

var options = {'title':'Number of Cars', 
       'width':todaysWidth, 
       'height':todaysHeight, 
       legend: 'none' 
    }; 

宽度和高度正好被设置为你想要的值,然后绘制图表:

myChart.draw(data,options); 

其中myChart是的一个实例google.visualization饼图类。当这些值发生变化时,只需对options对象进行更改,然后再次调用myChart.draw(data,options);

因此,这将更新此功能可以是:

function updateChart(newHeight,newWidth,myChart){ 
    var options={'title':'Number of Cars', 
     'height':newHeight, 
     'width':newWidth, 
     legend:'none' 
    } 
    myChart.draw(data,options); 
} 

,因此当数据变化,你会打电话updateChart(...);与适当的高度,宽度和图表作为参数。

+0

非常感谢,我还没有任何代码,因为我正在计划并阅读Google Charts文档。那么'todaysWidth'可以绑定到数据的值来动态更新图表大小吗? –

+0

是的。我已经更新以显示你将如何做。另外请注意,您可以使用'myChart.clearChart();'清除旧图表,但根据我的经验,如果您跳过此操作并使用上面的'draw'方法,它似乎就可以工作。 – Matthew

+0

非常感谢您的帮助。 –