Python 绘制数据帧的两列时出现奇怪的图形

Python 绘制数据帧的两列时出现奇怪的图形,python,matplotlib,Python,Matplotlib,我对python比较陌生。我正在尝试使用Matplotlib中的.plot,使用数据帧的两列绘制一条线。这是我使用的代码- a = testdata['x_pred'] b = testdata['y'] plt.plot(a,b) DataFrame testdata只有两列—x_pred和y。 我期待一个平滑的线图,但是我得到的图似乎是连接每个点和每个其他点。我不明白为什么。如果您能帮我得到一个简单的折线图作为我的输出,我将不胜感激 问题的原因是x轴中的元素未排序 考虑以下示例: impo

我对python比较陌生。我正在尝试使用Matplotlib中的.plot,使用数据帧的两列绘制一条线。这是我使用的代码-

a = testdata['x_pred']
b = testdata['y']
plt.plot(a,b)
DataFrame testdata只有两列—x_pred和y。 我期待一个平滑的线图,但是我得到的图似乎是连接每个点和每个其他点。我不明白为什么。如果您能帮我得到一个简单的折线图作为我的输出,我将不胜感激


问题的原因是
x轴中的元素未排序

考虑以下示例:

import matplotlib.pyplot as plt

x = [20, 5, 10, 30]
y = [1, 2, 3, 4]
plt.plot(x,y)
plt.show()
其结果是:

而不是:


所以,你只需要对它们进行排序。

我认为你的索引不正确,而且这条线的绘制顺序不正确。这可能吗?你可能是对的,任何想法,我如何修复它。用一个最小但完整的示例,用测试数据展示你的过程。这是得到好的帮助的唯一途径。你是对的。这条线被划得乱七八糟。我只是按升序对值排序,得到了我想要的图形。谢谢你发现了这个问题。