Python 不正确的matplotlib绘图

Python 不正确的matplotlib绘图,python,matplotlib,plot,Python,Matplotlib,Plot,我一直在尝试使用以下数据点集在matplotlib上绘制一个简单的绘图,但是我得到了一个完全令人困惑的错误绘图。绘图包括不在数据点集中的点 我正在绘制的点集是: [(0, 0), (3, 0), (0, 0), (2, 0), (0, 0), (3, 0), (1, 0), (7, 0), (2, 0), (0, 0), (5, 0), (2, 1), (10, 1), (1, 0), (1, 0), (8, 0), (3, 0), (1, 0), (2, 0), (2, 0), (1, 0)

我一直在尝试使用以下数据点集在matplotlib上绘制一个简单的绘图,但是我得到了一个完全令人困惑的错误绘图。绘图包括不在数据点集中的点

我正在绘制的点集是:

[(0, 0), (3, 0), (0, 0), (2, 0), (0, 0), (3, 0), (1, 0), (7, 0), (2, 0), (0, 0), (5, 0), (2, 1), (10, 1), (1, 0), (1, 0), (8, 0), (3, 0), (1, 0), (2, 0), (2, 0), (1, 0), (6, 1), (3, 0), (3, 0), (12, 1), (3, 0), (0, 0), (2, 0), (0, 0), (2, 0), (3, 1), (0, 0), (4, 0), (4, 0), (2, 0), (2, 0)]
我只是打电话给:

plt.plot(pts, 'ro')
我很想知道我在这里出了什么问题。提前谢谢。

“点集”让我觉得您需要散点图。如果您希望看到这样的情况:

那么您可能需要pyplot的函数

import matplotlib.pyplot as plt

data = [(0, 0), (3, 0), (0, 0), (2, 0), (0, 0), (3, 0), (1, 0), (7, 0), (2, 0), (0, 0), (5, 0), (2, 1), (10, 1), (1, 0), (1, 0), (8, 0), (3, 0), (1, 0), (2, 0), (2, 0), (1, 0), (6, 1), (3, 0), (3, 0), (12, 1), (3, 0), (0, 0), (2, 0), (0, 0), (2, 0), (3, 1), (0, 0), (4, 0), (4, 0), (2, 0), (2, 0)]

x,y = zip(*data)

#plt.plot(data, 'ro')  # is the same as
#plt.plot(x, 'ro')     # this

plt.scatter(x, y)     # but i think you want scatter
plt.show()
请注意:

如果x和/或y是二维的,则将绘制相应的列


目前,matplotlib认为您正试图根据元组的索引绘制元组的每个条目。也就是说,你的图有点(i,x_i)和(i,y_i),i从1到35

正如@jedwards所指出的,您可以使用散射函数。 或者,您可以通过提取元组的每个元素,使plot函数显式plot(x_i,y_i),如下所示:

import matplotlib.pyplot as plt

data = [(0, 0), (3, 0), (0, 0), (2, 0), (0, 0), (3, 0), (1, 0), (7, 0), (2, 0), (0, 0), (5, 0), (2, 1), (10, 1), (1, 0), (1, 0), (8, 0), (3, 0), (1, 0), (2, 0), (2, 0), (1, 0), (6, 1), (3, 0), (3, 0), (12, 1), (3, 0), (0, 0), (2, 0), (0, 0), (2, 0), (3, 1), (0, 0), (4, 0), (4, 0), (2, 0), (2, 0)]
plt.plot([int(i[0]) for i in data], [int(i[1]) for i in data], 'or')

plt.xlim(-1, 8) # Sets x-axis limits
plt.ylim(-1, 2) # Sets y-axis limits
plt.show()      # Show the plot

似乎唯一合理的解释是,
pts
不包含您认为它包含的数据。在plot调用之前,您是否尝试过打印它并验证它是否包含您认为它包含的数据?感谢您指出
plot
尝试用索引打印每个元组元素!我不知道!