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

使用Python绘制折线图时出现无效字符串错误,寻求解决方案

问题解决:Matplotlib折线图因列名传参错误报错

你的错误出在plt.plot('Planned Path', 'Sl No')这行代码上——Matplotlib的plt.plot()函数默认会把传入的字符串当作线条样式参数(比如'r--'这种格式),而不是从DataFrame中读取对应列的数据,所以才会出现识别不了'S'的错误。

修复方案

有两种简单的修复方式:

方式1:直接传入DataFrame的列数据

明确指定要绘制的是dataset里的对应列:

import pandas as pd
import matplotlib.pyplot as plt

# 假设你的dataset已经提前定义好
start = 1
dataset.insert(0, 'Sl No', range(start, start + dataset.shape[0]))

# 修正后的绘图代码
plt.plot(dataset['Planned Path'], dataset['Sl No'])
plt.xlabel('规划路径')  # 替换成你需要的X轴标签
plt.ylabel('序号')     # 替换成你需要的Y轴标签
plt.title('规划路径折线图') # 替换成你需要的图表标题
plt.grid(True)
# 如果X轴标签重叠,可添加旋转优化显示
plt.xticks(rotation=45)
plt.show()

方式2:使用Pandas内置的plot方法(更简洁)

Pandas的DataFrame自带plot方法,能直接关联列名,无需手动提取数据:

import pandas as pd
import matplotlib.pyplot as plt

start = 1
dataset.insert(0, 'Sl No', range(start, start + dataset.shape[0]))

# 用Pandas直接绘图
dataset.plot(x='Planned Path', y='Sl No', kind='line', grid=True)
plt.xlabel('规划路径')
plt.ylabel('序号')
plt.title('规划路径折线图')
plt.xticks(rotation=45)
plt.show()

补充说明

因为你的X轴是字符串类型,Matplotlib会自动将其作为分类变量,按数据中的顺序排列。如果字符串标签过长导致重叠,plt.xticks(rotation=45)可以旋转标签,提升可读性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 11:33:13