首页 > 解决方案 > Matplotlib x 轴乱序绘制

问题描述

我正在运行下面的python脚本,x轴应该是

20 10 5

但它被绘制

5 10 20

它们不是字符串,我不知道这是什么排序。数学不是我的工作,所以我要做的就是找到数据点之间的回归线。我担心 x 轴乱序会给我带来糟糕的结果。请有任何想法。

import numpy as np
import matplotlib.pyplot as plt


x = [ 20,10,5 ] 
y = [ 30,35,40 ]

x_new = 100
y_new = np.interp(x_new, x, y)

print(y_new)

plt.plot(x, y, "og-");

plt.show()

标签: numpymatplotlib

解决方案


默认情况下,Pyplot 具有标准轴方向。由于您正在绘制数值,因此轴将从左到右增加。例如,您可以按照此示例反转轴:

fig, ax = plt.subplots()
ax.plot(x, y, "og-");
xmin, xmax = ax.get_xlim()
ax.set_xlim(xmax, xmin)
plt.show()

或者您也可以使用ax.invert_xaxis()

fig, ax = plt.subplots()
ax.plot(x, y, "og-");

ax.invert_xaxis()
plt.show()

输出:

在此处输入图像描述


推荐阅读