最佳答案
我有一个对 (a, b)
的列表,我想用 python 中的 matplotlib
作为实际的 x-y 坐标。目前,它正在制作两个图形,其中列表的索引给出 x 坐标,第一个图形的 y 值是成对的 a
s,第二个图形的 y 值是成对的 b
s。
为了澄清,我的数据看起来像这样: li = [(a,b), (c,d), ... , (t, u)]
我想做一个只是调用 plt.plot()
不正确的一行程序。
如果我不需要一句俏皮话,我可以做的很简单:
xs = [x[0] for x in li]
ys = [x[1] for x in li]
plt.plot(xs, ys)
如何让 matplotlib 将这些对绘制为 x-y 坐标?
# sample data
li = list(zip(range(1, 14), range(14, 27)))
li → [(1, 14), (2, 15), (3, 16), (4, 17), (5, 18), (6, 19), (7, 20), (8, 21), (9, 22), (10, 23), (11, 24), (12, 25), (13, 26)]
plt.plot(li)
plt.title('Incorrect Plot:\nEach index of the tuple plotted as separate lines')
li
的。我需要用一行代码来解压缩和绘图,而不是用多个列表理解。xs = [x[0] for x in li]
ys = [x[1] for x in li]
plt.plot(xs, ys)
plt.title('Correct Plot:\nBut uses to many lines to unpack li')