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

使用Seaborn lineplot绘制Numpy数组时如何让X轴刻度从1开始

解决Seaborn lineplot X轴刻度与数组元素错位的问题

先构造示例数据并计算累积和:

import numpy as np

# 构造原始数组
arr = np.array([0.17, 0.15, 0.13, 0.12, 0.07, 0.06, 0.05, 0.05, 0.03, 0.03, 0.03, 0.03, 0.03, 0.03, 0.02])
# 计算累积和
cum_arr = np.cumsum(arr)

原绘制代码中,sns.lineplot(data=cum_arr)默认会用数组的0起始索引作为X轴值,而手动设置的X轴刻度是从1到15,导致刻度1对应索引1的元素(0.32),而非索引0的第一个元素(0.17)。

要让X轴刻度1对应cum_arr的第一个元素,只需在lineplot中显式指定x参数为自定义的x_range,让每个y值与对应的x刻度一一绑定:

修改后的完整代码:

import matplotlib.pyplot as plt
import seaborn as sns

x_range = [x for x in range(1, len(cum_arr) +1)]

# 显式关联x刻度与y值,避免索引错位
ax = sns.lineplot(x=x_range, y=cum_arr)
ax.set_xlim(1, 15)
ax.set_ylim(0, 1.1)
ax.set_xticks(x_range)

plt.grid()
plt.show()

修改后,X轴刻度1会对应cum_arr的第一个元素0.17,后续刻度也会依次匹配对应的数组元素。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 05:12:43