在IJulia工作。不顾一切地试图制作一个自定义的颜色图。试过线路:
matplotlib.colors.ListedColormap([(1,0,0),(0,1,0),(0,0,1)],"A")
这导致了以下错误
类型PyObject在加载In[16]时没有字段颜色,在从第1行开始的表达式中
这显然意味着我不能直接使用matplotlib,而只能使用PyPlot中的函数。
我不能将matplotlib与导入一起使用(因为这在IJulia中无效)。我注意到其他人在类似的问题上也得到了帮助,但这并不能解决我的问题。
通过使用PyPlot用于包装matplotlib的PyCall包,您可以获得如下颜色图:
using PyCall
@pyimport matplotlib.colors as matcolors
cmap = matcolors.ListedColormap([(1,0,0),(0,1,0),(0,0,1)],"A")
为了访问PyObject中的字段,您需要使用以下符号对对象进行索引:
cmap[:set_over]((0,0,0))
这相当于python中的:cmap.set_over((0,0,0))
。有关如何使用PyPlot绘制不同类型绘图的其他示例,请参见以下示例:https://gist.github.com/gizmaa/7214002
您不需要使用PyCall直接调用Python(当然,这是一个选项)。您也可以只使用ColorMap
的PyPlot
构造函数来从(r,g,b)数组或Julia Color
包中定义的颜色数组构造颜色映射。请参阅PyPlot ColorMap文档。例如:
using PyPlot, Color
ColorMap("A", [RGB(1,0,0),RGB(0,1,0),RGB(0,0,1)])