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

如何将图表的Y轴原点设置在(0,0)位置?

问题描述

我的图表X轴范围为-1到1,希望Y轴穿过(0,0)点(即图中蓝线位置),此前在文档及相关平台中未找到实现方法,该如何操作?

实现方案(基于Matplotlib)

通过调整坐标轴的spine(轴线)位置可以实现需求,操作步骤如下:

  • 获取当前坐标轴对象,隐藏默认的顶部、右侧冗余轴线
  • 将左侧Y轴的位置设置为X轴的0点位置
  • 固定X轴范围为-1到1,按需调整刻度显示

代码示例

import matplotlib.pyplot as plt
import numpy as np

# 生成示例数据(可替换为自己的数据集)
x = np.linspace(-1, 1, 100)
y = x**2 - 0.5

fig, ax = plt.subplots()
ax.plot(x, y)

# 隐藏不需要的轴线
ax.spines['top'].set_visible(False)
ax.spines['right'].set_visible(False)

# 将Y轴移至X=0处
ax.spines['left'].set_position(('data', 0))
# 可选:将X轴移至Y=0处
ax.spines['bottom'].set_position(('data', 0))

# 设置X轴范围为-1到1
ax.set_xlim(-1, 1)

# 可选:调整Y轴刻度到右侧显示,避免与轴线重叠
ax.yaxis.set_ticks_position('right')

plt.show()

最终效果:Y轴精准穿过(0,0)点,X轴保持-1到1的范围,图表仅保留核心的横纵轴线,符合需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 08:45:29