有没有什么好的方法如何在Mathplotlib中将复数的二维数组绘制成图像?
将复数的大小映射为"亮度"或"饱和度"并将相位映射为"Hue"非常有意义(无论如何Hue只不过是RBG颜色空间中的相位). http://en.wikipedia.org/wiki/HSL_and_HSV
但据我所知,imshow只接受标量值,然后使用某些色阶进行映射.没有什么比投影真实的RGB图片更好的了吗?
我很容易实现一个版本,它接受3个浮点数的元组(向量)的二维数组或形状浮点数的ndarray [:,:,3].我想这通常是usefful功能.它对于绘制真实的RGB colord图像(例如从OpenCL输出的纹理)也很有用
我想要numpy.array从NxM到NxMx3的映射a ,其中三个元素的向量是原始条目的函数:
lambda x: [f1(x), f2(x), f3(x)]
Run Code Online (Sandbox Code Playgroud)
但是,像numpy.vectorize不允许更改尺寸的事情.当然,我可以创建一个零数组并创建一个循环(这就是我现在正在做的事情),但它既没有Pythonic也没有效率(就像Python中的每个循环一样).
有没有更好的方法在numpy.array上执行元素操作,为每个条目生成一个向量?
我正在尝试制作一张带有颜色的地理地图,其中像素的颜色取决于 (x,y) 的二维,就像从一份出版物中提取的一样:
我在网上搜索了一下,这就是我到达的地方:
https://gist.github.com/ChaoYue/81eb01b558f068f11ee741c56557a6a2
简而言之,我知道如何通过 x 轴值拾取颜色,并使用 y 轴值作为颜色饱和度、亮度或透明度的指示符。或者以某种方式将此 (x,y) 信息转换回线性空间并从 matplotlib 颜色图中选择颜色。但问题是,例如,假设我想要颜色为 lowerleft=blue,lowerright=green; 左上=红色,右上=橙色。如何在两者之间插入像素的颜色?或者也许这个例子与色彩理论相矛盾并且不可能?等效的问题是:如何制作如上图所示的颜色条图例?
这些是对我有帮助的在线资源,但它们并没有直接给出我正在寻找的说明:
我试图用颜色代表两个变量x并y在地图上.
到目前为止,我能做到的最好的方法是将颜色用于一个变量,将透明度用于另一个变量.
plt.Polygon(shape.points, fill=False, color=cmap(y), alpha=x)
是否可以在matplotlib中创建一个带有两个变量的2D色彩映射?