在Matplotlib中结合GeoPandas设置图例位置
调整GeoPandas绘图图例位置的方法
嘿,我明白你折腾图例位置的烦恼了——GeoPandas的plot方法有时候藏着点小细节,不过搞定这个很简单,给你两种靠谱的方法:
方法一:绘图时直接指定图例参数
最省心的方式是在调用plot()的时候,直接通过legend_kwds参数把位置、标题、边框透明度这些配置一次性搞定,不用再额外操作图例对象:
p = data_proj.plot( column="Level3", linewidth=0.03, legend=True, legend_kwds={ 'loc': 'upper left', # 换成 'upper right' 就是右上位置 'title': 'Land cover', 'framealpha': 0 # 和你原来设置的透明度效果一致 } )
这里的loc参数支持多种直观的字符串值,比如'upper right'(右上)、'lower left'(左下),也可以用数字代码(比如1代表右上,2代表左上),选你觉得顺手的就行。
方法二:获取图例对象后修改位置
如果你已经写好了后续的图例属性设置代码,不想改plot的调用,那只需要在现有代码后面加一行设置位置的代码就行:
# 你的原有绘图代码 p = data_proj.plot(column = "Level3", linewidth=0.03, legend = True) # 获取图例并设置你需要的属性 leg = p.get_legend() leg.set_title("Land cover") leg.get_frame().set_alpha(0) # 新增这行,直接指定图例位置 leg.set_loc('upper right') # 或者 'upper left'
两种方法都能完美把图例放到你想要的左上或右上位置,选哪种看你自己的代码习惯就行~
内容的提问来源于stack exchange,提问作者anon
相关产品推荐
相关产品推荐

