3 种颜色维度与谷歌可视化地理图表色标
3 color dimensions with Google Visualization Geochart Color Scale
我的数据有三个不同的'向量'。对于数据中的每一行,我都有喜欢狗的百分比,喜欢猫的百分比,以及像其他宠物的百分比。
A 20, 40, 40
B 10, 20, 70
C 80, 0, 20
D 90, 10, 0
...
我想使用谷歌可视化地理图表根据他们喜欢的宠物的颜色来表示国家。我想通过分配一个 RGB 值来做到这一点,具体取决于该国喜欢某种类型的宠物的人的百分比。
所以 100, 0, 0 将是 100% 红色。0, 100, 0 是 100% 绿色。0, 0, 100 是 100% 蓝色。以及介于两者之间的一切。
如果手动编码颜色,使用这样的javascript很容易。我遇到的问题是每一行都会有不同的组合(我有非常好的宠物偏好数据,精确到小数点后几位(,这需要我为每一行分配一个颜色值,我有大约 200 个。
虽然这是最后的手段,但我宁愿使用Geochart内置的渐变来为我完成繁重的工作。
问题是颜色渐变只允许 2D 渐变。我可以有多个渐变,但我无法确定仅使用 2D 渐变是否可以表示 3D 色彩空间。
所以我可以为以下对象创建一个渐变:
- 红色到绿色
- 绿色到蓝色
- 蓝色到绿色
这会涵盖颜色可能性的范围,还是只是让我控制色调,而不是饱和度或亮度?这是可行的,还是我最好采用解决方法?
我最终手动完成,因为它要容易得多。我最终为我的数据提供了 4 个向量,所以我使用 CMYK 颜色模型对它们进行了着色。对于每个向量,我计算了颜色的 C、M、Y 或 K 分量的一部分。
然后,我使用以下逻辑(伪代码(将其转换为 RGB:
C' = C * (100% - K) + K
M' = M * (100% - K) + K
Y' = Y * (100% - K) + K
R = 255 - 255 * C'
G = 255 - 255 * M'
B = 255 - 255 * Y'
我将它们转换为HTML颜色代码并将它们扔在一个数组中。然后,我为数组中与其着色的元素相对应的每一行分配一个值,并将其扔在选项的colorAxis.colors
部分。
结果令人难以置信地丑陋,作为传达信息的方式完全不切实际。不仅颜色很丑陋(青色、洋红色和黄色不是一个很好的颜色组合(,而且除非你是真正的色彩专家(我的观众不是(,否则你真的无法说出混合到底是什么。
回到绘图板是!
- 如何在谷歌可视化中组合数字和模式格式化程序
- 如何使用图表包装函数有条件地格式化谷歌可视化表单元格
- 从特定系列的谷歌可视化折线图中删除悬停工具提示
- 谷歌图表可视化仪表板数据源问题
- 谷歌可视化数据表间歇性问题
- 如何修复谷歌可视化-材料线中的重叠问题
- 谷歌地图,基于国家代码可视化国家
- 以编程方式透视谷歌可视化数据表
- 在谷歌可视化饼图中突出显示一个切片
- 谷歌地图/融合表Javascript HTML赢得't显示/可视化所有多边形数据(通过色标)
- 谷歌可视化数据分组字符串列
- 谷歌可视化树图-如何创建自定义文本
- 如何在谷歌可视化api柱状图中使用的json对象内用数字替换字符串值
- 在过去24小时内,谷歌应用程序脚本或可视化API的任何变化
- 如何在谷歌分析中跟踪谷歌可视化图表事件
- 删除谷歌可视化饼图中的图例
- IE8谷歌可视化权限被拒绝
- 更改谷歌图表(谷歌可视化)图形的背景颜色
- 用javascript隐藏谷歌可视化列
- 加载旧版本的谷歌可视化库