【问题标题】:python define range of colormap [duplicate]python定义颜色图的范围[重复]
【发布时间】:2017-11-14 18:20:10
【问题描述】:

我制作了一个等高线图,默认情况下它在 -150 到 250 的范围内设置了八种不同的颜色。 但是我想增加颜色的数量,所以颜色条的分辨率。

我尝试了一些方法(例如下面的代码示例),但没有任何效果。那么也许有人可以帮助我解决这个问题?

这是一个代码示例:

m2 = Basemap(projection='kav7',lon_0=0)
m2.drawcoastlines(linewidth=1.)
m2.drawparallels(np.arange(-90.,99.,30.))
m2.drawmeridians(np.arange(-180.,180.,60.))

v = np.linspace(-150., 250., 10., endpoint=True)
cs = m2.contourf(lon,lat,sshf_mean,latlon=True,cmap=cm.jet)
cbar = m2.colorbar(cs,location='bottom',pad="5%",ticks=v)

所以最后应该有 40 种不同颜色的颜色条,而不是 8 种。

非常感谢!

【问题讨论】:

    标签: python matplotlib range colorbar contourf


    【解决方案1】:

    contourf 有两个选项来设置关卡数量;你可以手动设置它们,或者让 matplotlib 选择N 级别。例如:

    import matplotlib.pylab as pl
    import numpy as np
    
    x = np.arange(10)
    y = np.arange(10)
    values = np.random.random(100).reshape((10,10))
    
    pl.figure()
    pl.subplot(131)
    pl.contourf(x, y, values)
    pl.colorbar()
    
    pl.subplot(132)
    # Automatically chose 100 levels:
    pl.contourf(x, y, values, 100)
    pl.colorbar()
    
    pl.subplot(133)
    # Manually specify 20 levels:
    levels = np.linspace(0,1,20)
    pl.contourf(x, y, values, levels)
    pl.colorbar()
    

    生产:

    【讨论】:

    • 太好了,非常感谢! :)
    猜你喜欢
    • 1970-01-01
    • 2017-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-13
    • 1970-01-01
    • 2016-01-21
    相关资源
    最近更新 更多