【发布时间】:2016-03-07 13:19:38
【问题描述】:
有没有一种实用的方法来使用/定义一个“漂亮”的 Matplotlib 颜色图,它取决于两个实变量 cmap2d(a1,a2),当然例如:0.<= a1 <= 1. & 0.<= a2 <= 1.?
基本上它应该被定义为一个常规的颜色图,但定义在一个二维帧上......
【问题讨论】:
标签: python matplotlib color-mapping
有没有一种实用的方法来使用/定义一个“漂亮”的 Matplotlib 颜色图,它取决于两个实变量 cmap2d(a1,a2),当然例如:0.<= a1 <= 1. & 0.<= a2 <= 1.?
基本上它应该被定义为一个常规的颜色图,但定义在一个二维帧上......
【问题讨论】:
标签: python matplotlib color-mapping
是的,您可以定义 2D 颜色图。
因为您的 2D 颜色图的输出是单变量的(让我们暂时忘记 RGB 通道),您总是可以分两步来表达它:
f(a1, a2)
鉴于上面的分解,您不必太担心颜色图是否需要一个或两个(或更多)参数,因为您总是可以用普通的一维颜色图来表达它。
如果您愿意将不同的渠道视为不同的变量,您可以执行以下操作:
import numpy as np
from matplotlib import pyplot as plt
# Create a grid of values
x = np.linspace(0, 1)
y = np.linspace(0, 1)
xx, yy = np.meshgrid(x, y)
# Apply some function
xx = xx ** 2
yy = np.sin(np.pi * yy)
# Plot as RGB values
img = np.transpose((xx, yy, np.zeros_like(xx)))
plt.imshow(img)
【讨论】:
(a1,a2)给出单一颜色(应该选择一个好的功能...)