Pyplot等高线图 - clabel间距

mca*_*tis 7 python matplotlib matplotlib-basemap

我在使用matplotlib/pyplot/basemap时遇到了麻烦.我在地图上绘制轮廓线(气压).我使用clabel来显示轮廓线的值.但问题是:值和轮廓线之间的填充太多.我找到了参数"inline_spacing",我将其设置为零.但仍有很多自由空间.有任何想法吗?

自由空间轮廓标签

Python代码:

import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
from mpl_toolkits.basemap import Basemap
import pygrib

filename   = "file.grib2"
grbs       = pygrib.open('/data/' + filename)
grb        = grbs[2]
data       = grb.values
datac      = data*0.01
lats, lons = grb.latlons()

fig = plt.figure()
m = Basemap(projection='stere',lon_0=5,lat_0=90.0,\
            llcrnrlon=-25.0,urcrnrlon=60.0,llcrnrlat=30.0,urcrnrlat=60.0,resolution='l')

x, y = m(lons, lats)

levs = range(940,1065,5)
S1=plt.contour(x,y,datac,levs,linewidths=0.5,colors='b')
plt.clabel(S1,inline=1,inline_spacing=0,fontsize=8,fmt='%1.0f',colors='b')

m.drawmapboundary(fill_color='w')
m.drawcoastlines(linewidth=0.2)

plt.savefig('test.png', bbox_inches='tight',pad_inches=0.05, dpi=100)
Run Code Online (Sandbox Code Playgroud)

谢谢.

Dav*_*eim 3

“inline_spacing”参数可以设置为负值。它给了我一个警告,但尝试 -2 或 -3 应该可以解决你的问题。