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

如何为Pandas单行DataFrame绘图的指定行设置不同颜色

解决Pandas绘图指定行变色的问题

问题原因

你之前的代码失效,是因为Pandas的DataFrame.plot()方法的color参数不支持逐点指定颜色:

  • 当传入颜色列表时,该参数是为多列数据分配颜色(每列对应一个颜色);
  • 你只有一列数据,所以它会取列表的最后一个颜色(也就是你循环修改后的蓝色)应用到整个线条上,导致全图变蓝。

解决方案

要实现指定行区间变色,需要分多次绘制不同区间的数据,分别指定颜色:

import matplotlib.pyplot as plt

# 简写数据框变量名方便操作
df = recorded_values_of_accelerometer

# 绘制蓝色区间:前78行(索引0-77) + 295行及之后的部分
plt.plot(df.iloc[:78].index, df.iloc[:78], color='blue')
plt.plot(df.iloc[295:].index, df.iloc[295:], color='blue')

# 绘制红色区间:78到294行(对应索引78-294,因为iloc[78:295]是左闭右开)
plt.plot(df.iloc[78:295].index, df.iloc[78:295], color='red')

# 可选:添加标题、标签等
plt.title('Accelerometer Values with Highlighted Range')
plt.ylabel('Accelerometer Value')

plt.show()

补充说明

  • 用iloc定位行可以确保不受DataFrame自定义索引的影响,精准选取行区间;
  • 如果你的DataFrame使用默认的整数索引,也可以直接用df.index[:78]和df[:78],但iloc的兼容性更强。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 14:20:23