Python定义色彩映射范围

2024-10-03 13:29:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我做了一个轮廓图,默认设置了8种不同的颜色,范围在-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种。在

非常感谢!在


Tags: 代码true示例数量颜色np分辨率cs
1条回答
网友
1楼 · 发布于 2024-10-03 13:29:06

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()

产生:

enter image description here

相关问题 更多 >