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

Matplotlib中如何绘制数据点到对应坐标轴的连接线?

最简单实现方案

直接用你提到的plt.vlines/plt.hlines即可实现,无需额外引入其他方法:

  • 连接数据点到x轴:调用plt.vlines()指定x为点的x坐标,y轴范围从x轴坐标位置到点的y坐标即可
  • 连接数据点到y轴:调用plt.hlines()指定y为点的y坐标,x轴范围从y轴坐标位置到点的x坐标即可

基础使用示例

假设要给坐标为(2, 5)的数据点绘制到坐标轴的连接线,代码如下:

import matplotlib.pyplot as plt

# 定义目标数据点
x, y = 2, 5

# 绘制原始数据点,zorder设高避免被连线遮挡
plt.scatter(x, y, c='red', s=60, zorder=10)

# 绘制到x轴的垂直线段
plt.vlines(x=x, ymin=0, ymax=y, color='gray', linestyle='--')
# 绘制到y轴的水平线段
plt.hlines(y=y, xmin=0, xmax=x, color='gray', linestyle='--')

# 配置坐标轴范围
plt.xlim(0, 6)
plt.ylim(0, 6)
plt.show()

如果你的坐标轴起始值不是0,需要自动适配当前轴边界,可以直接读取当前轴的范围值来设置端点:

ax = plt.gca()
# 连接到当前x轴的下边界
plt.vlines(x=x, ymin=ax.get_ylim()[0], ymax=y, color='gray', linestyle='--')
# 连接到当前y轴的左边界
plt.hlines(y=y, xmin=ax.get_xlim()[0], xmax=x, color='gray', linestyle='--')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 09:48:01