[英]how to use matplotlib's set_cmap()?
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()
我想在我的繪圖中嘗試不同的色彩映射,但命令plt.set_cmap('hot')
不起作用,即顏色與標准調色板中的顏色相同( http://i.stack.imgur.com/ FjXoO.png )
我在Debian Linux下使用WXAgg后端,在Enthought的Canopy中使用matplotlib。 我嘗試了Qt4Agg后端,結果是一樣的。 如何正確改變顏色?
plt.set_cmap
將設置要使用的plt.set_cmap
colormap
,例如,在圖像繪圖中。 由於您只是繪制線條,因此不會影響您的情節。
使用plt.plot
繪圖時,您可以提供color
關鍵字參數,該參數將選擇線條的顏色,如下所示。
# ...
plt.plot(x,y, color='black')
plt.plot(x,y1, color='pink')
plt.plot(x,y2, color='green')
plt.show()
或者,您可以使用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()
最后,如果您想從現有的色彩映射中獲取顏色列表,那么您可以使用以下代碼將它們線性間隔開。 matplotlib.pyplot.cm.<your_colormap_here>
映射本身由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()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.