我使用matplotlib在python中繪製一些數據,並且圖需要一個標準的顏色條。數據由一系列包含頻率信息的NxM矩陣組成,以便簡單的imshow()圖給出具有彩色描述頻率的2D直方圖。每個矩陣包含不同但重疊範圍內的數據。 Imshow將每個矩陣中的數據標準化爲0-1的範圍,這意味着例如矩陣A的繪圖將與矩陣2 * A的繪圖相同(儘管顏色欄將顯示值的兩倍)。例如,我想要的顏色是紅色,以對應於所有地塊中的相同頻率。換句話說,單一色條就足以滿足所有情節。任何建議將不勝感激。我如何創建一個標準的顏色條爲python
34
A
回答
8
最簡單的解決方法是用每個圖的相同參數調用clim(lower_limit,upper_limit)。
+4
或者只是將'vmin'和'vmax' kwargs傳遞給' imshow'。 –
68
不偷@ ianilis的答案,但我想補充一個例子...
有多種方式,但最簡單的就是指定vmin
和vmax
kwargs到imshow
。或者,您可以製作一個matplotlib.cm.Colormap
實例並指定它,但這對於簡單情況來說比複雜得多。
這裏有一個簡單的例子對所有圖像的單個彩條:
import numpy as np
import matplotlib.pyplot as plt
# Generate some data that where each slice has a different range
# (The overall range is from 0 to 2)
data = np.random.random((4,10,10))
data *= np.array([0.5, 1.0, 1.5, 2.0])[:,None,None]
# Plot each slice as an independent subplot
fig, axes = plt.subplots(nrows=2, ncols=2)
for dat, ax in zip(data, axes.flat):
# The vmin and vmax arguments specify the color limits
im = ax.imshow(dat, vmin=0, vmax=2)
# Make an axis for the colorbar on the right side
cax = fig.add_axes([0.9, 0.1, 0.03, 0.8])
fig.colorbar(im, cax=cax)
plt.show()
1
這唯一的答案一半的問題,或者更確切地說,開始一個新的。 如果更改
data *= np.array([0.5, 1.0, 1.5, 2.0])[:,None,None]
到
data *= np.array([2.0, 1.0, 1.5, 0.5])[:,None,None]
您的彩條會從0到0.5,在這種情況下是深藍色稍微淡藍色,並且不會覆蓋整個範圍(0〜2) 。 無論vmin
和vmax
如何,顏色條只會顯示最後一張圖像或輪廓中的顏色。
相關問題
- 1. 爲單一顏色創建多個條件
- 2. 爲標籤創建背景顏色和線條
- 3. 如何創建一個規模的顏色,如Excel條件格式
- 4. 從matplotlib中的RGBA函數創建一個顏色條
- 5. 在matlab中創建一個定製的顏色條
- 6. 如何爲DataGridTemplateColumn創建標準DataTemplate?
- 7. 在我的matplotlib旁邊創建一個顏色條,不使用顏色貼圖來繪製數據
- 8. 在WINAPI中創建一個顏色塊
- 9. 如何爲圖像繪製一個尖的顏色條 - R
- 10. 用不同顏色的標籤創建一個primefaces手風琴
- 11. 如何從一組顏色和浮點數創建一個NSGradient?
- 12. 如何創建一個填充HTML/CSS顏色的矩形表?
- 13. Python模塊在Windows上爲標準輸出啓用ANSI顏色?
- 14. 如何爲我的給定條件創建一個sql查詢?
- 15. 在Python中使用顏色條和顏色映射創建顏色編碼的時間圖
- 16. 如何設置顏色條標籤
- 17. Matplotlib:如何在2個或更多的顏色中切割一個顏色條?
- 18. 在matplotlib中創建共享圖例顏色條python
- 19. 如何創建顏色列表中的所有顏色?
- 20. 如何爲一個半藍色半黃色的顏色着色?
- 21. 如何在python matplotlib中爲pcolor設置固定的顏色條?
- 22. 創建一個畫布光標,無法存儲顏色
- 23. 在Java中創建JList,我將如何更改條目的背景顏色?
- 24. 如何在JavaScript懸停內創建一個顏色鍵?
- 25. 如何在javascript中創建一個散景顏色映射器?
- 26. 如何創建一個邏輯顏色圖
- 27. 爲plt.fill製作的陰影創建顏色條
- 28. 如何在vb.net中爲背景顏色創建一個帶漸變的按鈕?
- 29. 如何自定義UITableViewCell中標準標籤的背景顏色?
- 30. 標準化後創建一個外鍵
我更喜歡使用matshow()或pcolor(),因爲imshow()在顯示時使平滑矩陣更困難。所以除非矩陣確實是一個圖像,否則我建議你試試其他兩個。 – ianalis
@inalis - 如果不需要插值,可以在使用'imshow'時指定'interpolation ='nearest''。對於大型數組,'pcolor'比'imshow'慢得多,所以對大型數組使用'imshow'往往更好。另一方面,'pcolor'給出矢量輸出,有時候這可能非常方便。 –
[Matplotlib 2 Subplots,1 Colorbar]可能的副本(http://stackoverflow.com/questions/13784201/matplotlib-2-subplots-1-colorbar) –