Python,Pyplot:在不改变轴本身的情况下改变轴的外观

Python, Pyplot: Change appearance of axis without changing axis itself

我有一个包含 2000 个值的数组 (grmf),对应于 7990 - 8010 MHz 的测量扫描。 x 值的存储范围为 0 到 1999。

import numpy as np
from matplotlib import pyplot as plt

xaxis = np.arange(2000)
grmf = 3 * xaxis    #let's just use this as dummy data
plt.plot(xaxis, grmf, label="measurement")
plt.show()

我希望 x 轴只显示值 7990(对应于 0)和 8010(对应于 1999),以便一眼就能更容易地识别峰值的大致位置,例如

因为图中还有其他函数,而且 xaxis 的使用方式不止这个图,我既不能更改轴也不能更改数组 xaxis,只是想更改图形外观.根据我的发现,put.xticks 似乎是可行的方法,但它还没有按照我想要的方式真正解决。

嗯,我不太确定为什么 xticks 不适合你。如果我明白你想做什么,你只需要多一行,所以它看起来像这样:

import numpy as np
from matplotlib import pyplot as plt

xaxis = np.arange(2000)
grmf = 3 * xaxis    #let's just use this as dummy data
plt.plot(xaxis, grmf, label="measurement")
plt.xticks([0, 500, 1000, 1500, 1999], [7990, 7995, 8000, 8005, 8010])
plt.show()

我添加了更多的值,因为很容易找出对应的值,但如果您需要,当然可以只保留 0 和 1990。希望这就是您要找的。