我只是想問我怎麼能最好使用matplotlib創建一個頻率像素圖。通過這個學期我意味着什麼,如:Python matplotlib頻率像素圖
http://img513.imageshack.us/img513/8677/g8df.png
凡正方形的顏色代表了相應的時間和間隔的頻率。
我想繪製一系列的50個補丁,並根據數據和使用色階對它們進行着色?還是有更好的方法來做到這一點?
感謝
我只是想問我怎麼能最好使用matplotlib創建一個頻率像素圖。通過這個學期我意味着什麼,如:Python matplotlib頻率像素圖
http://img513.imageshack.us/img513/8677/g8df.png
凡正方形的顏色代表了相應的時間和間隔的頻率。
我想繪製一系列的50個補丁,並根據數據和使用色階對它們進行着色?還是有更好的方法來做到這一點?
感謝
這聽起來像你基本上只是想plt.hist2d
。
import numpy as np
import matplotlib.pyplot as plt
data = np.array([[8, 15, 1, 65, 79],
[45, 22, 60, 43, 16],
[3, 75, 90, 11, 14],
[89, 32, 27, 59, 99],
[62, 5, 54, 92, 81]])
nrows, ncols = data.shape
# Generate 1-based row indicies, similar to your table
row = np.vstack(ncols * [np.arange(nrows) + 1]).T
x, y = row.flatten(), data.flatten()
xbins = np.arange(nrows+1) + 0.5
plt.hist2d(x, y, bins=(xbins, 10), cmap=plt.cm.Reds)
plt.show()
謝謝!我確實看到了plt.hist2d,但我無法弄清楚如何使用它。我有一個簡單的問題,可以說我有相同的矩陣,但我有一些值爲0的缺失值,如何在繪圖時忽略這些值?例如,如果小時1現在爲[0,15,1,65,79],則左下角(0-10)矩形的顏色應與上面(10-20)的顏色相同。 –
@JamesElder - 您可以將非零值傳遞給hist2d。例如。 'plt.hist2d(x [y!= 0],y [y!= 0],...)'。我可以添加一個更詳細的例子,如果它會幫助? –
完美謝謝!今天我有點慢:P –
你就不能使用的顏色表與適當的色標?還是你想讓軸線與圖中的相似? – Evert