短版 - 我想在构建后修改google.visualization.PieChart
对象的宽度/高度,但我找不到任何文档指出它是如何完成的。
上下文 - 我正在构建一个可覆盖谷歌地图上的大量数据的可视化。在某些纬度/经度坐标处,我想渲染一个饼图标记,详细说明与该地点相关的某些统计数据。
为了避免使屏幕混乱,我想根据当前的缩放级别改变饼图标记的尺寸。这要求我重新渲染当前可见的所有标记,或者最好更改所有标记的宽度/高度属性。
我目前使用以下设置来渲染我的图表:
legend: {position: "none"},
width: 200,
height: 200,
backgroundColor: "transparent",
pieSliceText: "none",
colors: ["#C10001", "#F79647", "#92D051", "#558ED5", "#7F7F7F"],
tooltip: {textStyle: {fontSize: 14}}
有没有办法在图表创建后改变图表的尺寸?
答案 0 :(得分:0)
我认为API中没有任何内容;尽管如此,只需要一点Javascript,您就可以修改包含图表的SVG标记的属性。一种可能的方法是添加一个viewBox属性,该属性将向上或向下缩放饼图。
答案 1 :(得分:0)
到目前为止,我唯一可行的解决方案是使用更改的宽度/高度设置重绘整个图表。这段代码使用jQuery。
for (var i = 0; i < dataPoints.length; ++i) {
var drawingOptions = $.extend({}, defaultDrawOptions);
drawingOptions.width = defaultDrawOptions.width*(currentZoom/defaultZoom);
drawingOptions.height = defaultDrawOptions.height*(currentZoom/defaultZoom);
dataPoints[i].chart.draw(dataPoints[i].dataSource, drawingOptions);
}
正如您所看到的,这种半生不熟的解决方案相当笨拙,可能会不必要地降低性能。