Matplotlib:底图中的插图

问题描述 投票:0回答:1

我试图在底图图的右下角插入一个折线图,但我正在使用的代码(based off the Matplotlib documentation)对我不起作用,可能是因为它没有包含底图参数。相反,我不断得到一个看起来像这样的数字:

enter image description here

下面是我用来尝试创建我的数字的代码。任何有关在图表中获取折线图的帮助都会非常有帮助。提前致谢!

fig = plt.figure(figsize=(10,8))
ax = fig.add_subplot(121)
m = Basemap(llcrnrlon=50.,llcrnrlat=35.,urcrnrlon=160.,urcrnrlat=63.,projection='lcc',resolution='c',lat_1=20.,lat_2=40.,lon_0=90.,lat_0=50.)
m.drawcountries(color='black')
m.drawmapboundary(fill_color='lightblue')
m.fillcontinents(color='beige')
m.drawparallels(np.arange(0.,90.,5.),color='gray',dashes=[1,3],labels=[1,0,0,0])
m.drawmeridians(np.arange(0.,360.,15.),color='gray',dashes=[1,3],labels=[0,0,0,1])

clat = np.arange(65,45,-2)
clon = np.arange(80,100,2)
dlat = np.arange(70,50,-2)
dlon = np.arange(85,105,2)
mincon = np.random.randint(900,1000,73)
mindis = np.random.randint(910,1010,73)


cX,cY = m(clon,clat)
dX,dY = m(dlon,dlat)
m.plot(cX,cY,'bo-',label='Continuous')
m.plot(dX,dY,'ro-',label='Discontinuous') 
ax.legend()

a = plt.axes([0.7,0.3,.2,.2])
plt.plot(np.arange(0,73,1),mincon,color='blue',label='Continuous')
plt.plot(np.arange(0,73,1),mindis,color='red',label='Discontinuous')
plt.xlabel('Model Time')
plt.ylabel('Minimum Pressure (hPa)')

plt.show() 
python matplotlib matplotlib-basemap
1个回答
2
投票

我会用mpl_toolkits.axes_grid1.inset_locator.inset_axes

import numpy as np
from mpl_toolkits.axes_grid1.inset_locator import inset_axes
from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt


fig = plt.figure(figsize=(10,6))
ax = fig.add_subplot(111)

m = Basemap(llcrnrlon=50.,llcrnrlat=35.,urcrnrlon=160.,urcrnrlat=63.,
            projection='lcc',resolution='c',lat_1=20.,lat_2=40.,lon_0=90.,lat_0=50., ax=ax)
m.drawcountries(color='black')
m.drawmapboundary(fill_color='lightblue')
m.fillcontinents(color='beige')
m.drawparallels(np.arange(0.,90.,5.),color='gray',dashes=[1,3],labels=[1,0,0,0])
m.drawmeridians(np.arange(0.,360.,15.),color='gray',dashes=[1,3],labels=[0,0,0,1])

clat = np.arange(65,45,-2)
clon = np.arange(80,100,2)
dlat = np.arange(70,50,-2)
dlon = np.arange(85,105,2)
mincon = np.random.randint(900,1000,73)
mindis = np.random.randint(910,1010,73)


cX,cY = m(clon,clat)
dX,dY = m(dlon,dlat)
m.plot(cX,cY,'bo-',label='Continuous')
m.plot(dX,dY,'ro-',label='Discontinuous') 
ax.legend(loc="lower left")

ax2 = inset_axes(ax, "30%", "40%", loc="lower right")
ax2.plot(np.arange(0,73,1),mincon,color='blue',label='Continuous')
ax2.plot(np.arange(0,73,1),mindis,color='red',label='Discontinuous')
ax2.set_xlabel('Model Time')
ax2.set_ylabel('Minimum Pressure (hPa)')
ax2.xaxis.set_ticks_position('top')
ax2.xaxis.set_label_position('top') 

plt.show() 

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.