Python中的矩形颜色

Bri*_*ian 4 python colors matplotlib

要在我的绘图中添加矩形,我通常使用以下代码:

ret=Rectangle((x_l[i]-dx,y_l[i]-dx),width=dx,height=dx,facecolor='red',linestyle='solid')
ax=gca()
ax.add_patch(ret)
Run Code Online (Sandbox Code Playgroud)

但是我想知道是否有可能以不同的方式给出颜色.我希望我的矩形根据颜色条进行着色.我会尝试更好地解释它.每个矩形代表一个单元格,在每个单元格中我定义一个标量字段.我的标量场从min_valmax_val.我希望我绘制的每个矩形都是颜色,对应于矩形中标量字段的值.

HYR*_*YRY 8

您可以使用ColorMap计算的颜色绘制每个Rectangle:

import matplotlib.colorbar as cbar
import pylab as pl
import numpy as np

N = 50
xs = np.random.randint(0, 100, N)
ys = np.random.randint(0, 100, N)
ws = np.random.randint(10, 20, N)
hs = np.random.randint(10, 20, N)
vs = np.random.randn(N)
normal = pl.Normalize(vs.min(), vs.max())
colors = pl.cm.jet(normal(vs))

ax = pl.subplot(111)
for x,y,w,h,c in zip(xs,ys,ws,hs,colors):
    rect = pl.Rectangle((x,y),w,h,color=c)
    ax.add_patch(rect)

cax, _ = cbar.make_axes(ax) 
cb2 = cbar.ColorbarBase(cax, cmap=pl.cm.jet,norm=normal) 

ax.set_xlim(0,120)
ax.set_ylim(0,120)
pl.show()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述