python:绘制一个由函数定义颜色的线

时间:2011-12-03 18:54:54

标签: python plot

我想在python中绘制一个矢量,根据函数的值定义它的颜色(类似y=f(x))。例如,如果行具有单位长度,则在开头(x=0)我想用蓝色填充它,并在末尾(x=1)用红色填充它,使用函数来定义颜色调色板

我试图查看网页但没有任何结果。

任何人都可以帮助我吗?

提前致谢。

1 个答案:

答案 0 :(得分:0)

您可能需要使用Python PIL:http://effbot.org/imagingbook/pil-index.htm

这是一个简单的示例,一旦安装了PIL,就可以帮助您入门:

import Image, ImageDraw
import math

# Create image, giving size and background color
im = Image.new("RGB", (400,400), (0, 128, 128) )

# You will do your drawing in the image through the 'draw' object
draw = ImageDraw.Draw(im)


def f(x):
    return math.sin(3*x)

# One loop alongside the line
for i in xrange( 400 ):
    # and another if you need a different width
    for j in xrange( 196, 204 ):

        # Calculate an x-value in the range 0-1. This is a hack
        # you might need something more general.
        x = i / 400.0


        c = f(x)

        # And calculate the colors from there
        red = int( 256*(1.0-c) ) 
        blue = 256 - red

    im.putpixel( ( i, j ), (red, 0, blue) )

im.save("test.png", "PNG")

当然,我不建议上述方法用于任何需要性能的方法,但它可能足以让你赶时间。