我目前正在使用底图来绘制一些数据。我希望markersize由列表定义,但这会引发错误。
知道如何通过单个函数或方法调用显示不同大小的标记吗?
m = Basemap(projection='mill',llcrnrlat=51.25,urcrnrlat=51.75,
llcrnrlon=-0.5,urcrnrlon=0.3,resolution='h')
m.drawcoastlines()
m.drawrivers(color='blue')
m.fillcontinents()
m.drawmapboundary()
m.drawcounties()
lat,lon,size = [51.5, 51.4], [0.1, 0], [2, 35]
x, y = m(lon,lat)
m.plot(lon, lat,'ro',markersize=size)
plt.show()
最佳答案
Basemap.plt
不支持多个标记大小。请使用Basemap.scatter
及其大小参数。
如果要同时保留线条和标记,则必须将plot
与scatter
结合使用:
import matplotlib.pyplot as plt
from mpl_toolkits.basemap import Basemap
m = Basemap(projection='mill',llcrnrlat=51.25,urcrnrlat=51.75,
llcrnrlon=-0.5,urcrnrlon=0.3,resolution='h')
m.drawcoastlines()
m.drawrivers(color='blue')
m.fillcontinents()
m.drawmapboundary()
m.drawcounties()
lat,lon,size = [51.5,51.4],[0.1,0],[2,35]
x,y = m(lon,lat)
m.plot(x, y, c='r')
m.scatter(x, y, s=size, c='r', marker='o', zorder=2)
plt.show()
关于python - basemap 上的不同地块大小,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30755121/