2016-04-16 144 views
0

我正尝试在python中创建一个2D绘图,其中水平轴被分割成多个间隔或列,并且每个列的颜色沿着垂直轴变化。在python中绘制彩色网格

每个间隔的颜色取决于周期函数的时间值。为了简单起见,假设这些值的范围介于0和1之间。那么接近1的值应该是深红色,接近0的值应该是深蓝色的(实际的颜色并不重要)。

这里的情节应该是什么样子的例子:

Example of plot

有没有办法使用matplotlib做到这一点在Python?

+0

http://matplotlib.org/api/pyplot_api.html – Pythonista

+0

那是不是特别有帮助 – fosho

回答

1

这实际上只是显示图像。你可以用imshow来做到这一点。

import matplotlib.pyplot as plt 

import numpy as np 

# Just some example data (random) 
data = np.random.rand(10,5) 

rows,cols = data.shape 

plt.imshow(data, interpolation='nearest', 
       extent=[0.5, 0.5+cols, 0.5, 0.5+rows], 
       cmap='bwr') 

enter image description here

+0

谢谢,我给这个一去,就会自动知道要什么颜色价值? – fosho

+0

@Daniel我刚刚用'cmap'选项更新了它,它会将你的数据值映射到颜色。 – Suever

+0

唯一的问题是纵轴保持固定,我能否以某种方式增加其尺寸? – fosho