我有一个 (x,y) 值的列表,它们位于 [(x,y),(x,y),(x,y)...] 之类的列表中。我觉得 matplotlib 中有一个解决方案,但由于我的格式,我无法完全到达那里。我想将其绘制为直方图或线图。感谢您的帮助。
请您参考如下方法:
您可以使用 * ('splat') 运算符轻松地将 (x, y) 元组列表转换为 x 和 y 坐标的两个元组列表(另请参见 this SO question ):
>>> zip(*[(0, 0), (1, 1), (2, 4), (3, 9)])
[(0, 1, 2, 3), (0, 1, 4, 9)]
然后,您可以再次使用 * 运算符将这些参数解压缩到 plt.plot
>>> plt.plot(*zip(*[(0, 0), (1, 1), (2, 4), (3, 9)]))
甚至plt.bar
>>> plt.bar(*zip(*[(0, 0), (1, 1), (2, 4), (3, 9)]))
