如何用read_csv读取无表头多组数据并在同图绘制多曲线?
多组Time-Value曲线同图绘制方案
直接修改代码,读取所有数据列后循环遍历每一组time-value对,在同一个画布上绘制即可,具体实现如下:
import pandas as pd import matplotlib.pyplot as plt # 读取完整数据:跳过前35行,无表头所以设置header=None让pandas用索引作为列名 df = pd.read_csv('exp_200_ALD_current.csv', skiprows=35, header=None) # 创建统一画布,所有曲线将绘制在此上 plt.figure(figsize=(10, 6)) # 按步长2循环,每次取一组time-value列(第0&1列是第一组,2&3列是第二组...) for i in range(0, df.shape[1], 2): time_data = df[i] value_data = df[i+1] # 绘制曲线并添加组标签,方便图例区分 plt.plot(time_data, value_data, label=f'Group {(i//2)+1}') # 设置图表基础信息 plt.title("Current density vs. Time") plt.xlabel("Time (h)") plt.ylabel("Current density (mA/cm^2)") # 显示图例 plt.legend() # 展示最终图表 plt.show()
额外说明
- 如果每组数据有自定义名称,可提前定义名称列表替换默认标签,比如:
group_names = ['Sample X', 'Sample Y', 'Sample Z'] # 循环内替换label为: plt.plot(..., label=group_names[i//2]) - 若需要调整曲线样式,可在
plt.plot()中添加color(颜色)、linestyle(线型)等参数,比如plt.plot(..., color='darkred', linestyle='--')
内容的提问来源于stack exchange,提问作者qazwsx123
相关产品推荐
相关产品推荐

