matplotlib多边形上的垂直渐变

时间:2015-11-15 23:16:58

标签: python matplotlib

我希望在matplotlib中为polycollection生成线性渐变。我有以下代码,给我一个块颜色

v = []
for k in range(0, len(xs) - 1):
    x = [xs[k], xs[k+1], xs[k+1], xs[k]]
    y = [ys[k], ys[k+1], ys[k+1], ys[k]]
    z = [zs[k], zs[k+1],       h,     h]
    v.append(zip(x, y, z))    
poly3dCollection = Poly3DCollection(v, facecolor='yellow', edgecolors='none')

我玩过彩色地图和插值,但我似乎无法以我想要的方式工作。具体来说,我需要一个基于我提供的灰度值的线性渐变(所以没有默认的喷射颜色方案)。梯度可以设置一次,即每个多边形的顶部x%为黑色,然后是相同x%的各种灰度,而不是需要为每个多边形动态计算。

我确实通过保存到SVG并手动编辑图像来获得我想要的效果,但我需要在代码中完成所有操作。

我觉得这应该是非常直接的,所以我不确定我缺少什么

0 个答案:

没有答案