信号是 2048 长整型数组。情节如下所示。
看到速度轴左侧为负值,右侧为正值。当我创建速度数组时,它以正数开头并以负数结尾,为什么 x 轴会反转绘图?如何让它从左到右而不是从右到左绘制? (正转负,而不是负转正)
谢谢
<小时/>import numpy.polynomial.polynomial as poly
from scipy import asarray as ar,exp, optimize
import numpy as np
import matplotlib.pyplot as plt
from scipy.optimize import curve_fit
signal = np.genfromtxt("rawdata/g924310/r_g924310_b1.txt")
for i in range(1,2048,1):
vel[i] = (1024.5 - i)* 0.137177
signal = np.genfromtxt("rawdata/g924310/r_g924310_b1.txt")
plt.plot(vel,signal,'b+:',label='scan')
plt.legend()
plt.title('1667 MHz (92.4, -31.0) - Antenna Temp v Vel')
plt.xlabel('Velocity')
plt.ylabel('Antenna Temp (K)')
plt.show()
最佳答案
默认情况下,matplotlib 将从最小到最大对轴进行排序。您可以通过在 Axes
对象上调用 invert_xaxis
来覆盖 x 轴的默认设置:
from matplotlib import pyplot as plt
import numpy as np
x = np.array([3, 2, 1])
y = np.array([4, 5, 6])
plt.plot(x, y)
ax = plt.gca()
ax.invert_xaxis()
plt.show()
关于python - 如何阻止 pyplot 反转 x 轴上的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47492783/