2016-04-14 39 views
0

我有一個數據文件,該文件是這樣的:如何使用python和給定的數據生成圖像?

1, 23% 
2, 33% 
3, 12% 

我想用Python來生成一個直方圖來表示百分比。我跟着這些命令:

from PIL import Image 
img = Image.new('RGB', (width, height)) 
img.putdata(my_data) 
img.show() 

但是我得到的錯誤,當我把數據:SystemError: new style getargs format but argument is not a tuple.我一定要改變我的數據文件嗎?如何?

+0

http://stackoverflow.com/questions/12062920/how-do-i-create-an-image-in-pil-using-a-列表的-RGB元組 – Mani

回答

0

通常在matplotlib中創建一個直方圖,具有一組數據點,然後將它們分配到分箱中。一個例子是這樣的:

import matplotlib.pyplot as plt 

data = [1, 2, 3, 3, 4, 4, 4, 5, 5, 6, 7] 
plt.hist(data, 7) 
plt.show() 

你已經知道適合多大比例的數據,每個類別(雖然,我可能會指出你的百分比不添加到100 ...)。一種表示方法是製作一個列表,其中每個數據值的表示次數等於其百分比,如下所示。

data = [1]*23 + [2]*33 + [3]*12 
plt.hist(data, 3) 
plt.show() 

hist()的第二個參數是顯示的箱的數量,所以這可能是你想讓它看起來很漂亮的數字。

的文檔HIST()在這裏找到: http://matplotlib.org/api/pyplot_api.html

0

你只是在繪製圖表嗎? PIL是一個圖像處理模塊 - 如果你需要直方圖和其他圖表,你應該考慮matplotlib

我找到了一個直方圖here的例子。