栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用Matplotlib的单个pcolormesh具有多个颜色图

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用Matplotlib的单个pcolormesh具有多个颜色图

每个色网格图都有一个关联的色图。为了在一张图中使用多个颜色图,因此我看到以下选项:

  1. 单个矩形 :不要使用pcolormesh,而是按照自己的喜好绘制单个矩形。
  2. 创建您的 自定义颜色图 ,其中合并了不同范围内的不同颜色图。例如,将0到0.4的值映射到一个颜色图的颜色,将0.4到1的值映射到另一颜色图的颜色。然后可能看起来像:

    import matplotlib.pyplot as plt

    import matplotlib.colors
    import numpy as np

    x,y = np.meshgrid(range(4), range(4))
    z = np.array([[0.2,.3,.95],[.5,.76,0.4],[.3,.1,.6]]).astype(float)
    mask= np.array([[1,0,0],[1,0,0],[1,1,1]]).astype(float)
    Z = z + mask

    c2 = plt.cm.Greens(np.linspace(0,1,128))
    c1 = plt.cm.coolwarm(np.linspace(0,1,128))
    cols = np.vstack((c1, c2))
    cmap=matplotlib.colors.LinearSegmentedColormap.from_list(“q”, cols)

    fig, ax=plt.subplots()
    ax.pcolormesh(x,y,Z, vmin=0, vmax=2, cmap=cmap)

    plt.show()

  3. 屏蔽 数组并绘制几个pcolormesh图。以下示例显示了这样的样子:

        import matplotlib.pyplot as pltimport numpy as npimport numpy.ma as max,y = np.meshgrid(range(4), range(4))z = np.array([[1,1.3,3],[2.2,2.8,1.8],[3,1,3]]).astype(float)mask= np.array([[1,0,0],[1,0,0],[1,1,1]]).astype(bool)z1 = np.copy(z)z1[mask] = np.nanz2 = np.copy(z)z2[~mask] = np.nanfig, ax=plt.subplots()ax.pcolormesh(x,y,ma.masked_invalid(z1), vmin=1, vmax=3, cmap="coolwarm")ax.pcolormesh(x,y,ma.masked_invalid(z2), vmin=1, vmax=3, cmap="Greens")plt.show()


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/640529.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号