我有一个像这样的文件:
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,这导致无法读取的结果。
答案 0 :(得分:3)
如果我理解正确,那么这里的问题就是大量的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);