Python 直观地表示X和Y值
我有一个x,y值的列表,这些值位于类似于[x,y,x,y,x,y…]的列表中。我觉得matplotlib中有一个解决方案,但由于格式问题,我无法实现。我想把它画成柱状图或折线图。非常感谢您的帮助。也许您可以尝试以下方式:Python 直观地表示X和Y值,python,matplotlib,plot,Python,Matplotlib,Plot,我有一个x,y值的列表,这些值位于类似于[x,y,x,y,x,y…]的列表中。我觉得matplotlib中有一个解决方案,但由于格式问题,我无法实现。我想把它画成柱状图或折线图。非常感谢您的帮助。也许您可以尝试以下方式: 也许不是最优雅的解决方案,但它应该能起作用。干杯,特隆也许你可以试试这样的东西: 也许不是最优雅的解决方案,但它应该能起作用。干杯,Trond您可以使用*“splat”操作符非常轻松地将x、y元组列表转换为x和y坐标的两个元组列表。另请参见: 然后,您可以再次使用*运算符将这些
也许不是最优雅的解决方案,但它应该能起作用。干杯,特隆也许你可以试试这样的东西:
也许不是最优雅的解决方案,但它应该能起作用。干杯,Trond您可以使用*“splat”操作符非常轻松地将x、y元组列表转换为x和y坐标的两个元组列表。另请参见: 然后,您可以再次使用*运算符将这些参数解包到plt.plot中 甚至是plt.bar
使用*'splat'运算符,您可以非常轻松地将x、y元组列表转换为x和y坐标的两个元组列表。另请参见: 然后,您可以再次使用*运算符将这些参数解包到plt.plot中 甚至是plt.bar
正是我要找的!正是我要找的!很好,这基本上是一个zip的实现。很好,这基本上是一个zip的实现。
import numpy as np:
xs=[]; ys=[]
for x,y in xy_list:
xs.append(x)
ys.append(y)
xs=np.asarray(xs)
ys=np.asarray(ys)
plot(xs,ys,'ro')
>>> zip(*[(0, 0), (1, 1), (2, 4), (3, 9)])
[(0, 1, 2, 3), (0, 1, 4, 9)]
>>> plt.plot(*zip(*[(0, 0), (1, 1), (2, 4), (3, 9)]))
>>> plt.bar(*zip(*[(0, 0), (1, 1), (2, 4), (3, 9)]))