如何使用PyPlot制作自定义色彩映射(不适用于matplotlib)

And*_*sen 5 matplotlib julia colormap

在IJulia工作.拼命想要制作自定义色彩图.试过这条线:

matplotlib.colors.ListedColormap([(1,0,0),(0,1,0),(0,0,1)],"A") 
Run Code Online (Sandbox Code Playgroud)

这导致以下错误

类型PyObject在加载时没有字段颜色在[16]中,在从第1行开始的表达式中

这显然意味着我不能直接使用matplotlib,而只能使用PyPlot中的函数.

我不能使用导入涉及matplotlib(因为这在IJulia中无效).我注意到其他人在类似的问题上有所帮助,但这并不能解决我的问题.

Dan*_*egh 4

通过使用 PyPlot 用来包装 matplotlib 的 PyCall 包,您可以获得如下颜色图:

using PyCall
@pyimport matplotlib.colors as matcolors
cmap = matcolors.ListedColormap([(1,0,0),(0,1,0),(0,0,1)],"A")
Run Code Online (Sandbox Code Playgroud)

为了访问 PyObject 中的字段,您需要使用如下符号来索引对象:

cmap[:set_over]((0,0,0))
Run Code Online (Sandbox Code Playgroud)

这相当于:cmap.set_over((0,0,0))在Python中。有关如何使用 PyPlot 绘制不同类型的图的其他好示例,请参阅以下示例:https://gist.github.com/gizmaa/7214002