python - 如何阻止 pyplot 反转 x 轴上的值

标签 python numpy matplotlib plot scipy

信号是 2048 长整型数组。情节如下所示。

enter image description here

看到速度轴左侧为负值,右侧为正值。当我创建速度数组时,它以正数开头并以负数结尾,为什么 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()

enter image description here

关于python - 如何阻止 pyplot 反转 x 轴上的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47492783/

相关文章:

python - 调用 plt.show() 后如何保持之前的图而不清除图形而不简单地重复调用?

python matplotlib imshow() 自定义刻度线

python - 如何避免使用 opencv 和 numpy 逐像素循环遍历图像

python - 使用 Pandas 从 Redshift 读取 bigint (int8) 列数据,无需科学记数法

python - 如何在 Pandas 中选择包含一个或多个关键字(来自现有列表)的行?

python - pyodbc:带有包含日期​​范围的 WHERE 子句的 ORACLE SQL 语句

python - NumPy 函数标准差的内存消耗

python - Windows 上的 Matplotlib - 依赖关系未解决

python - json.loads在python中将小数点转换为 'e'

python - 删除()一个实例