[英]Using the values of the first row of a matrix as ticks for matplotlib.pyplot.imshow
我有一個像這樣的文件:
820.5 815.3 810.4
2061 2082 2098
2094 2119 2071
2067 2079 2080
2095 2080 2116
2069 2103 2108
我正在使用以下代碼將其打開並繪制數據
import numpy as np
import matplotlib.pyplot as plt
img = np.loadtxt('example.txt')
wvl = img[0,:]
data = img[1:,:]
plt.imshow(data)
問題是:如何將numpy.ndarray
“ wvl”內的值用作我的熱圖的x軸刻度標簽?
我已經嘗試過plt.xticks(range(wvl.size),wvl)
但在實際情況下,我的數組長度為512,這導致無法讀取的結果。
如果我理解正確,那么這里的問題就是大量的X軸刻度。 在那種情況下,要獲得可讀的解決方案,一種方法是在第n
個步驟中打勾。 您還可以根據個人喜好選擇是否旋轉它們。 為此,您可以喜歡以下內容。
我只是將您的數據集擴展了四次以擁有模式數據點。
import numpy as np
import matplotlib.pyplot as plt
img = np.loadtxt('example.txt')
wvl = img[0,:]
data = img[1:,:]
ax.imshow(data)
step = 3
plt.xticks(range(0, wvl.size, step),wvl[::step], rotation=45);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.