在python中操作图像

在python中操作图像,python,python-imaging-library,Python,Python Imaging Library,我有这组数据: {5: 136018, 4: 131402, 6: 113441, 7: 94609, 8: 80752, 9: 69753, 10: 60322, 11: 51388, 12: 44416, 13: 37638, 14: 31524, 15: 26275, 16: 22098, 17: 18458, 18: 15294, 19: 12207, 20: 10209, 21: 8355, 22: 6826, 23: 5657, 24: 4554, 25: 3668, 26: 2

我有这组数据:

{5: 136018, 4: 131402, 6: 113441, 7: 94609, 8: 80752, 9: 69753, 10: 60322, 11: 51388, 
12: 44416, 13: 37638, 14: 31524, 15: 26275, 16: 22098, 17: 18458, 18: 15294, 19: 12207, 
20: 10209, 21: 8355, 22: 6826, 23: 5657, 24: 4554, 25: 3668, 26: 2907, 27: 2438, 28: 1923, 
29: 1609, 30: 1223, 31: 1000, 32: 821, 33: 693, 34: 492, 35: 381, 36: 315, 37: 263, 38: 218,
40: 170, 39: 164, 41: 103, 42: 94, 43: 58, 44: 48, 45: 40, 47: 36, 46: 30, 49: 22, 48: 21, 
50: 14, 51: 12, 53: 9, 52: 6, 54: 5, 55: 5, 56: 4, 57: 3, 64: 2, 58: 1, 59: 1, 60: 1, 
61: 1, 62: 1, 65: 1, 66: 1}
我想做的是从这些数据创建一个图像。我知道这并不容易,但基本上我想用像PIL这样的东西来创建一个图像,我想用它来显示一种条形图,我知道它也会是一个巨大的图像,因为它的数字很大(比如136018)

那么,我该如何使用Python和PIL实现这一点呢。请改用。

尝试以下方法: 您必须自然地修改
像素
部分

import PIL

image = PIL.Image.new('RGBA', (1000, 1000))
pixels = image.load()

print pixels[x, y]
pixels[x, y] = some_color

伊格纳西奥的建议很好——但这里有一个简单的例子可以让您开始:

import pylab    # part of the matplotlib package - a simpler interface

data = {
    5: 136018, 4: 131402, 6: 113441, 7: 94609, 8: 80752, 9: 69753,
    10: 60322, 11: 51388, 12: 44416, 13: 37638, 14: 31524, 15: 26275,
    16: 22098, 17: 18458, 18: 15294, 19: 12207, 20: 10209, 21: 8355,
    22: 6826, 23: 5657, 24: 4554, 25: 3668, 26: 2907, 27: 2438, 28: 1923,
    29: 1609, 30: 1223, 31: 1000, 32: 821, 33: 693, 34: 492, 35: 381,
    36: 315, 37: 263, 38: 218, 40: 170, 39: 164, 41: 103, 42: 94, 43: 58,
    44: 48, 45: 40, 47: 36, 46: 30, 49: 22, 48: 21, 50: 14, 51: 12,
    53: 9, 52: 6, 54: 5, 55: 5, 56: 4, 57: 3, 64: 2, 58: 1, 59: 1, 60: 1,
    61: 1, 62: 1, 65: 1, 66: 1
}

xs = range(min(data), max(data)+1)
ys = [data.get(x, 0) for x in xs]

pylab.bar(xs, ys)
给你

你能给我举一个用它创建条形图的例子吗。谢谢你,我会查出来的。