我目前正在使用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(lon, lat,'ro',markersize=size)
plt.show()
答案 0 :(得分:1)
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()
答案 1 :(得分:0)
您正在转发列表,而不是转发标记大小的值。 size = [2,35],尝试大小[0]