在Zeppelin可视化中更改默认的组颜色

时间:2019-03-12 21:53:28

标签: visualization apache-zeppelin

我有一堆数据要放入散点图中,但是默认的颜色顺序是“蓝色”,“浅蓝色”,最后是“橙色”。我的数据分为两个组,组名恒定,而且我做不到,它们总是蓝色和浅蓝色。哪一个不能带来良好的可视化效果。

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

有帮助吗?

1 个答案:

答案 0 :(得分:1)

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

Zeppelin中的图表基于nvd3(依次使用D3库)进行。由于Zeppelin根本不关心颜色,因此它将始终使用nvd3默认值,该默认值是在utils.js函数nv.utils.defaultColor中定义的。

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

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

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

最后,使用上述代码,您将获得类似的内容。

Screenshot of Zeppelin chart with changed color scheme