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

如何绘制分段连续折线图并为不同分段设置不同颜色?

解决Matplotlib折线图分段绘制衔接问题

你当前代码的问题在于,plt.plot()如果只传入y值列表,默认会使用从0开始的连续整数作为x轴坐标。第一段lst[:5]对应的x轴是0-4,而第二段lst[7:]默认x轴是0-2,导致两段折线在x轴0-2区域重叠,无法按原始数据顺序衔接。

要让第二段折线在原始数据的正确位置绘制并衔接第一段末尾,需要手动指定两段折线对应的原始x轴索引:

修改后的代码:

import matplotlib.pyplot as plt

lst = [5,10,15,8,9,6,8,12,13,6]

# 第一段:x轴对应原始索引0-4,绘制前5个元素
plt.plot(range(5), lst[:5])
# 第二段:x轴对应原始索引7-9,绘制从第8个元素开始的部分
plt.plot(range(7, len(lst)), lst[7:], color='red')
plt.show()

如果需要两段折线完全连续(中间无空隙),可以调整切片范围,让两段的x轴索引连续:

import matplotlib.pyplot as plt

lst = [5,10,15,8,9,6,8,12,13,6]

# 第一段绘制到原始索引6(包含),x轴0-6
plt.plot(range(7), lst[:7])
# 第二段从原始索引7开始,x轴7-9,和第一段自然衔接
plt.plot(range(7, len(lst)), lst[7:], color='red')
plt.show()

核心逻辑:通过range()生成与原始数据索引对应的x轴坐标,确保两段折线在x轴上按数据的真实顺序排列,避免默认x轴导致的重叠问题。

内容的提问来源于stack exchange,提问作者Mirkos M.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 01:35:21