numpy - 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()
解决方案
默认情况下,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()
输出:
推荐阅读
- python - 在 PyQt5 中向 Thread 函数发送信号会导致装饰槽的 TypeError
- jquery - 对窗口滚动条使用 jQuery 加载函数从 mysql db 检索新数据
- powershell - PowerShell 有没有办法在 Select-Object 中获得正确的属性顺序,以便每个对象都有顺序?
- java - 带有客户端证书的axis2 Web服务客户端
- git - 在主节点上签出并在从节点上执行
- selenium - org.openqa.selenium.remote.UnreachableBrowserException:与远程浏览器通信时出错。它可能已经死于 ChromeDriver 和 Selenium
- authentication - 身份验证和授权 Spark Thrift Server
- rubygems - 如何从 Ultrahook 身份验证失败中恢复
- javascript - 如何在javascript中更改数组对象的键?
- android - 使用 sendgrid web api v3 附加文件 - Android Kotlin