在matplotlib中使用2轴色彩映​​射

时间:2016-03-07 13:19:39

标签: python matplotlib color-mapping

是否有一种实用的方法来使用/定义一个&#34; nice&#34; Matplotlib颜色映射依赖于两个实变量cmap2d(a1,a2),当然如:0.<= a1 <= 1. & 0.<= a2 <= 1.

基本上它应该定义为常规色图,但在2d帧上定义......

1 个答案:

答案 0 :(得分:0)

是的,您可以定义2D颜色贴图。

因为2D色彩图的输出是单变量的(现在让我们忘记RGB通道),你总是可以分两步表达它:

  1. 计算函数f(a1, a2)
  2. 将函数的输出传递给您选择的颜色映射。
  3. 鉴于上面的分解,你不必太担心颜色图是否需要一个或两个(或更多)参数,因为你总是可以用普通的1D颜色图来表达它。

    如果您愿意将不同的渠道视为不同的变量,您可以执行以下操作:

    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)