import numpy as np
import matplotlib.pyplot as plt
x=np.linspace(-np.pi,np.pi,101)
y=np.sin(x)+np.sin(3*x)/3
y1=np.sin(x)+np.sin(2*x)/3
y2=np.sin(x)+np.sin(3*x)/2
plt.set_cmap('hot')
plt.plot(x,y)
plt.plot(x,y1)
plt.plot(x,y2)
plt.show()
Run Code Online (Sandbox Code Playgroud)
我想在我的绘图中尝试不同plt.set_cmap('hot')的色彩映射,但命令不起作用,即颜色与标准调色板中的颜色相同(http://i.stack.imgur.com/FjXoO.png)
我在Debian Linux下使用WXAgg后端,在Enthought的Canopy中使用matplotlib.我尝试了Qt4Agg后端,结果是一样的.如何正确改变颜色?
plt.set_cmap将设置a colormap用于例如图像绘图中.由于您只是绘制线条,因此不会影响您的情节.
使用时绘图plt.plot可以提供一个color关键字参数,用于选择线条的颜色,如下所示.
# ...
plt.plot(x,y, color='black')
plt.plot(x,y1, color='pink')
plt.plot(x,y2, color='green')
plt.show()
Run Code Online (Sandbox Code Playgroud)
或者,您可以使用选项设置新的颜色循环ax.set_color_cycle(),这样您可以选择在添加新绘图时颜色的变化,并有效地创建与之前相同的图形.请参阅此处获取演示.
# ...
plt.gca().set_color_cycle(['black', 'pink', 'green'])
plt.plot(x,y)
plt.plot(x,y1)
plt.plot(x,y2)
plt.show()
Run Code Online (Sandbox Code Playgroud)
最后,如果您想从现有的色彩映射中获取颜色列表,那么您可以使用以下代码将它们线性间隔开.色图本身由matplotlib.pyplot.cm.<your_colormap_here>.给出.通过在0和1之间传递10个等间距的数字作为参数,您可以得到10个等间距的颜色.
import numpy as np
import matplotlib.pyplot as plt
x=np.linspace(-np.pi,np.pi,101)
y=np.sin(x)+np.sin(3*x)/3
y1=np.sin(x)+np.sin(2*x)/3
y2=np.sin(x)+np.sin(3*x)/2
colors = plt.cm.hot(np.linspace(0,1,10))
plt.gca().set_color_cycle(colors)
plt.plot(x,y)
plt.plot(x,y1)
plt.plot(x,y2)
plt.show()
Run Code Online (Sandbox Code Playgroud)

| 归档时间: |
|
| 查看次数: |
3587 次 |
| 最近记录: |