1

我有一个带有类别选择器的谷歌饼图,就像https://developers.google.com/chart/interactive/docs/gallery/controls#overview中的示例

此图表的目的是按媒体显示来自多个网站的流量来源(谷歌分析配置文件)。因此,数据源具有三列:“GA 配置文件”、“媒体”和“访问次数”。

我正在使用下拉类别过滤器根据“GA 配置文件”进行过滤。换句话说,允许用户在查看不同 GA 配置文件的流量媒介之间切换。对于饼图本身,切片标签是“中等”,切片的大小基于“访问次数”。所以,数据数组最终看起来像这样:

var data = google.visualization.arrayToDataTable([
['Brand', 'Medium', 'Visits'],
['SiteA', 'Banner', 819527],
['SiteA', 'Direct', 489598],
['SiteA', 'Organic Search', 249444],
['SiteA', 'Paid Search', 248824],
['SiteB', 'Banner', 24858],
['SiteB', 'Direct', 24744],
['SiteB', 'Organic Search', 23751],
['SiteB', 'Paid Search', 22751]
]);

(确实,如果未选择“GA 配置文件”,则该图表没有意义,因为它为每个站点分别列出了每种媒体。但是,它并不意味着以这种方式查看 - 我将类别过滤器默认设置为一个GA 配置文件中的一个,这意味着其中一个始终处于活动状态。)

无论如何,这一切都很好,除了一件事:在 GA 配置文件之间切换时,介质的颜色不一致。例如,当我选择“站点 A”时,“直接”可能是蓝色的,而“有机搜索”是红色的,而对于“站点 B”,“直接”可能是红色的,而“有机搜索”是橙色的。我希望每个媒体的切片总是相同的颜色,无论我碰巧查看哪个 GA 配置文件的数据。关于我如何实现这一目标的任何想法?我查看了文档,但没有看到任何指定切片颜色的方法;只是一种将配色方案设置为整体的方法。有没有办法在 Google Chart 选项中执行此操作,或者在初始 draw() 之后设置颜色?

4

1 回答 1

1

API 允许您指定为每个段显示的颜色。使用它,您可以定义一组要使用的滚动颜色,如下所示:

var options = {
    colors: ['blue', 'red', 'orange', 'purple']
}

然后将四种颜色应用于四个段,当它到达第五个段(在这种情况下,下一个站点的开始)时,它将从您分配的颜色列表中重新开始。

更新

如果您的数据集因站点而异,则需要为每个单独的段指定颜色。您可以创建一个遍历每个值的循环,并为每个段分配正确的颜色,以便最终得到一个颜色列表,如下所示:

colors: ['blue', 'red', 'orange', 'purple', 'blue', 'red', 'orange', 'purple', 'blue', 'red', 'orange', 'blue', 'purple'...]

当然,这可能会变成很长的一组颜色,但这是唯一的方法。

于 2012-08-03T11:01:47.960 回答