修改饼图的尺寸(Google Chart Tools)

时间:2012-12-01 17:17:28

标签: google-visualization

短版 - 我想在构建后修改google.visualization.PieChart对象的宽度/高度,但我找不到任何文档指出它是如何完成的。

上下文 - 我正在构建一个可覆盖谷歌地图上的大量数据的可视化。在某些纬度/经度坐标处,我想渲染一个饼图标记,详细说明与该地点相关的某些统计数据。

为了避免使屏幕混乱,我想根据当前的缩放级别改变饼图标记的尺寸。这要求我重新渲染当前可见的所有标记,或者最好更改所有标记的宽度/高度属性。

Pie chart on Google Map

我目前使用以下设置来渲染我的图表:

        legend: {position: "none"},
        width: 200,
        height: 200,
        backgroundColor: "transparent",
        pieSliceText: "none",
        colors: ["#C10001", "#F79647", "#92D051", "#558ED5", "#7F7F7F"],
        tooltip: {textStyle: {fontSize: 14}}

有没有办法在图表创建后改变图表的尺寸?

2 个答案:

答案 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);
}

正如您所看到的,这种半生不熟的解决方案相当笨拙,可能会不必要地降低性能。