Skip to main content
 首页 » 编程设计

python之使用 Basemap 在 map 上放置饼图

2024年08月27日34yyy_WW

我想使用 Basemap 和 Matplotlib 在 map 上绘制饼图。

你知道这样做的方法吗?

请您参考如下方法:

您可以使用 inset_axes 将轴添加到 basemap .我修改了第一个示例 here包括饼图。

from mpl_toolkits.basemap import Basemap 
from mpl_toolkits.axes_grid1.inset_locator import inset_axes 
import matplotlib.pyplot as plt 
 
# setup Lambert Conformal basemap. 
fig = plt.figure() 
ax = fig.add_subplot(111) 
m = Basemap(width=12000000,height=9000000,projection='lcc', 
            resolution='c',lat_1=45.,lat_2=55,lat_0=50,lon_0=-107.,ax=ax) 
# draw coastlines. 
m.drawcoastlines() 
# draw a boundary around the map, fill the background. 
# this background will end up being the ocean color, since 
# the continents will be drawn on top. 
m.drawmapboundary(fill_color='aqua') 
# fill continents, set lake color same as ocean color. 
m.fillcontinents(color='coral',lake_color='aqua') 
 
axin = inset_axes(m.ax,width="30%",height="30%", loc=3) 
axin.pie([100,200,3000]) 
plt.show()