【发布时间】:2013-11-10 13:05:21
【问题描述】:
我希望在另一个颜色网格之上绘制一个 matplotlib 颜色网格。底部图只是灰度图。
然而,当传递的数组的值为 0 时,位于顶部的那个应该绘制一个透明的正方形,并且在传递的数组中为每个其他数字绘制不同的颜色。这些是 2d numpy 数组。
目前我有:
plt.pcolormesh(array1, vmin = -32, vmax = 32, cmap = plt.cm.binary)
plt.pcolormesh(array2, cmap = plt.cm.spectral)
显然这不会产生我正在寻找的东西,我认为这样做的方法是生成我自己的颜色图,我已经阅读了本指南:http://wiki.scipy.org/Cookbook/Matplotlib/ColormapTransformations 但这似乎并没有解决透明度问题,也不知道如何将特定的值映射到特定的颜色。
作为我想要的一个简短示例,一个数组:
[[0, 1]
[2, 3]]
应该生成一个看起来像这样的网格:
[[transparent, red
[green, yellow]]
我该怎么做呢?将数组合并在一起不是一种选择,因为底部数据集是一个高度图,它的值很可能总是跨越第二个数组的值(这些是代理 ID)。
【问题讨论】:
标签: python arrays numpy matplotlib color-mapping