如何根据传递给它的数据制作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(...);
与适当的高度,宽度和图表作为参数。
非常感谢,我还没有任何代码,因为我正在计划并阅读Google Charts文档。那么'todaysWidth'可以绑定到数据的值来动态更新图表大小吗? –
是的。我已经更新以显示你将如何做。另外请注意,您可以使用'myChart.clearChart();'清除旧图表,但根据我的经验,如果您跳过此操作并使用上面的'draw'方法,它似乎就可以工作。 – Matthew
非常感谢您的帮助。 –