如何在Gadfly.jl中添加自定义颜色映射?

tln*_*agy 7 julia gadfly

在Gadfly.jl中为主题添加自定义颜色贴图的最佳方法是什么?假设我创建了一个新的颜色映射,如下所示:

n = 12
color_map = distinguishable_colors(n, Color[LCHab(50, 60, 290)],
                       transform=c -> deuteranopic(c, 1),
                       lchoices=Float64[65, 30, 50, 50],
                       cchoices=Float64[0, 50, 60, 70],
                       hchoices=linspace(0, 50, 24))
Run Code Online (Sandbox Code Playgroud)

(基于https://github.com/dcjones/Gadfly.jl/issues/602).如何将其传递给Theme对象,以便我的绘图使用此颜色映射而不是默认颜色映射?default_colorTheme 的参数只接受一个值.

小智 2

我自己一直在努力解决这个问题和相关问题,这并不是提供可靠答案的资格。但你已经等了两个月了,所以我会尽力的。

我相信default_color主题的参数实际上只是单一颜色,而不是颜色映射函数。要使用颜色图,您需要将其绑定到“颜色美学”,例如color_continuouscolor_discrete_hue比例。并且需要将其定义为接受 [0, 1] 范围内的参数并返回颜色值(例如 RGB(r, g, b))的函数。

Gadfly 文档中有一些解释:http://dcjones.github.io/Gadfly.jl/scale_color_continuous.html