簡體   English   中英

使用矩陣第一行的值作為matplotlib.pyplot.imshow的刻度

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM