代码之家  ›  专栏  ›  技术社区  ›  SuperCiocia

蓝色阴影的颜色映射-python

  •  0
  • SuperCiocia  · 技术社区  · 7 年前

    import numpy as np
    import matplotlib.pyplot as plt
    import matplotlib as mpl
    
    
    n_lines = 5
    x = np.linspace(0, 10, 100)
    y = np.sin(x[:, None] + np.pi * np.linspace(0, 1, n_lines))
    c = np.arange(1, n_lines + 1)
    
    norm = mpl.colors.Normalize(vmin=c.min(), vmax=c.max())
    cmap = mpl.cm.ScalarMappable(norm=norm, cmap=mpl.cm.jet)
    cmap.set_array([])
    
    fig, ax = plt.subplots(dpi=100)
    for i, yi in enumerate(y.T):
        ax.plot(x, yi, c=cmap.to_rgba(i + 1))
    fig.colorbar(cmap, ticks=c)
    plt.show();
    

    我想给你找个代用品 cmap.to_rgba
    基本上我想保持这个代码的结果相同的布局,但使用彩色地图 Blues

    1 回复  |  直到 7 年前
        1
  •  8
  •   tda    7 年前

    您需要更改正在使用的颜色映射 jet Blues .

    import numpy as np
    import matplotlib.pyplot as plt
    import matplotlib as mpl
    
    
    n_lines = 5
    x = np.linspace(0, 10, 100)
    y = np.sin(x[:, None] + np.pi * np.linspace(0, 1, n_lines))
    c = np.arange(1, n_lines + 1)
    
    norm = mpl.colors.Normalize(vmin=c.min(), vmax=c.max())
    cmap = mpl.cm.ScalarMappable(norm=norm, cmap=mpl.cm.Blues)
    cmap.set_array([])
    
    fig, ax = plt.subplots(dpi=100)
    for i, yi in enumerate(y.T):
       ax.plot(x, yi, c=cmap.to_rgba(i + 1))
    fig.colorbar(cmap, ticks=c)
    plt.show()
    

    这将产生:

    enter image description here