如何在PyGMT中为图例标签条目添加垂直空白?
在PyGMT中解决图例符号重叠问题
核心方案:调整图例条目间距而非FONT_参数
FONT_系列参数仅控制字体相关属性,无法直接解决符号重叠的空白添加问题。要给图例条目添加空白避免重叠,推荐以下两种实用方法:
方法1:手动插入空白图例条目
定义图例条目时,在容易重叠的条目之间加入仅含空标签的条目,通过空条目撑开间距。示例代码:import pygmt fig = pygmt.Figure() fig.basemap(region=[0, 10, 0, 10], projection="X10c", frame=True) # 在震级条目间插入空白条目 legend_entries = [ {"symbol": "c0.2c", "label": "M 3.0"}, {"label": ""}, {"symbol": "c0.4c", "label": "M 5.0"}, {"label": ""}, {"symbol": "c0.6c", "label": "M 7.0"}, ] fig.legend(spec=legend_entries, position="jTR+o0.5c", box=True) fig.show()方法2:全局调整图例条目间距
通过PyGMT配置LEGEND_ENTRY_SEP参数,统一设置所有图例条目的垂直间距(单位支持厘米c或英寸i)。示例代码:import pygmt # 设置全局图例条目间距为0.3厘米 pygmt.config(LEGEND_ENTRY_SEP="0.3c") fig = pygmt.Figure() fig.basemap(region=[0, 10, 0, 10], projection="X10c", frame=True) legend_entries = [ {"symbol": "c0.2c", "label": "M 3.0"}, {"symbol": "c0.4c", "label": "M 5.0"}, {"symbol": "c0.6c", "label": "M 7.0"}, ] fig.legend(spec=legend_entries, position="jTR+o0.5c", box=True) fig.show()
补充建议
如果符号本身尺寸过大导致重叠,可适当缩小符号缩放比例,再配合上述间距调整,优化效果会更明显。
内容的提问来源于stack exchange,提问作者Joseph James Farrugia
相关产品推荐
相关产品推荐

