首页 > 解决方案 > 更改 Zeppelin 可视化中的默认组颜色

问题描述

我有一堆数据要放入散点图中,但默认颜色顺序是“蓝色”、“浅蓝色”,最后是“橙色”。我的数据分为两组,组名不变,无论我做什么,它们总是蓝色和浅蓝色。这不会产生良好的可视化效果。

到目前为止,我还没有找到修改颜色顺序或为已知组设置特定颜色的方法。我也无法通过添加一个虚拟组(一个元素)并在 SQL 语句中使用排序来更改颜色。

有什么帮助吗?

标签: visualizationapache-zeppelin

解决方案


这是缺少 Zeppelin 功能的解决方法/hack。

Zeppelin 中的图表是基于nvd3(它又使用 D3 库)。由于 Zeppelin 根本不关心颜色,它总是使用 nvd3 默认值,它在utils.js函数中定义nv.utils.defaultColor

因此,要更改配色方案,您可以简单地覆盖此功能。在浏览器的控制台中尝试以下 JavaScript 代码。有关可用的配色方案,请参阅API 文档(请注意,Zeppelin 仍使用旧的 3.x 版本的 D3)。

nv.utils.defaultColor = function() { 
    return nv.utils.getColor(d3.scale.category10().range());
}

剩下的问题是,如何将其永久添加到您的 Zeppelin 实例中,这取决于您的环境。将上述代码添加到您的末尾就足够了index.html,但这涉及修改zeppelin-web-x.y.z.war文件。

最后,使用上面的代码,你会得到这样的东西。

更改了配色方案的 Zeppelin 图表的屏幕截图


推荐阅读