You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Basemap绘图中如何用Line2D创建仅含单个标记的自定义图例

解决Basemap自定义图例仅显示标记无连线的问题

你已经找对方向啦!用Line2D创建自定义图例元素的思路完全没问题,要实现只显示标记、隐藏连线的效果,只需要给Line2D添加一个参数:linestyle='None'(也可以简写为ls='None')。

默认情况下,Line2D会自带一条默认样式的线,哪怕你只传入了[0],[0]这一组坐标,底层还是会渲染一条极短的连线。加上linestyle='None'就能彻底禁用连线渲染,只保留你设置的标记样式。

修改后的核心代码如下:

from matplotlib.lines import Line2D
import matplotlib.pyplot as plt

fig, ax = plt.subplots()
legend_elements = [
    Line2D([0], [0], marker='o', markersize=10, color='green', linestyle='None', label='Label1'),
    Line2D([0], [0], marker='s', markersize=12, color='red', linestyle='None', label='Label2')
]
ax.legend(handles=legend_elements, loc=2)
plt.show()

额外提个小技巧:如果需要区分标记的填充色和边框色,可以分别用markerfacecolor和markeredgecolor参数调整,能让图例样式更贴合你的绘图需求。

内容的提问来源于stack exchange,提问作者Bollehenk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 08:46:11