2013-03-21 41 views
1

我有一個列表(x,y)在列表中,如[(x,y),(x,y),(x,y)....]。我覺得在matplotlib中有一個解決方案,但由於我的格式化,我無法完成。我想將其繪製爲直方圖或線圖。任何幫助表示讚賞。可視化表示X和Y值

回答

2

也許你可以嘗試這樣的事情(also see):

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') 

也許不是最完美的解決方案,但它應該工作。歡呼聲中,特龍

+0

不錯,這基本上是一個'zip'的實現。 – askewchan 2013-03-21 03:07:58

7

你可以很容易地轉換的(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)])) 
+0

正是我在找什麼! – pioneer903 2013-03-21 02:58:03