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

Matplotlib绘制信号异常:未显示波形仅呈现随机线条求技术支持

解决Matplotlib绘制信号波形显示乱线的问题

核心问题排查与解决方案

  • x轴数据未排序:从数据预览来看,你的x轴(第一列)数据大概率存在乱序情况。Matplotlib绘制折线图时会严格按照数据的原始顺序连接坐标点,若x轴数值不是连续递增/递减排列,就会出现来回跳转的“随机线条”。
    修复代码:

    # 按第一列(x轴)排序数据
    file = file.sort_values(by=file.columns[0])
    
  • 数据类型异常:检查第一列和信号列的类型,若存在字符串、空值或非数值格式,会直接导致绘图逻辑异常。
    修复代码:

    # 强制转换所有列为数值类型,非法值转为NaN
    file = file.apply(pd.to_numeric, errors='coerce')
    # 删除包含空值的行
    file = file.dropna()
    
  • 子图布局优化:你创建了4行2列的子图网格,但仅绘制了4个图,剩余空图可能挤压显示空间,添加布局调整代码可优化显示效果:

    plt.tight_layout()
    plt.show()
    

修改后的完整代码示例

import pandas as pd
import matplotlib.pyplot as plt

file = pd.read_csv('/content/signals.csv', skiprows=1)
file = file.iloc[:, [0,4,5,6,7,8,9,10,11,12,13,14,15,16,17]]

# 数据预处理
file = file.apply(pd.to_numeric, errors='coerce').dropna()
file = file.sort_values(by=file.columns[0])

# 绘图
fig, axs = plt.subplots(nrows=4, ncols=2)
fig.suptitle('Display Signals')

axs[0,0].plot(file.iloc[:, 0], file.iloc[:, 1])
axs[1,0].plot(file.iloc[:, 0], file.iloc[:, 14])
axs[0,1].plot(file.iloc[:, 0], file.iloc[:, 5])
axs[1,1].plot(file.iloc[:, 0], file.iloc[:, 10])

plt.tight_layout()
plt.show()

数据预览

数据预览

当前异常绘制结果

当前绘制结果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 08:55:17