[英]Plotting Data from Excel file
我正在尝试从 Excel 工作表加载数据,然后将所有数据绘制在同一个图上,但我对在单个图上绘制多条线有点缺乏经验。 每列是经过的时间和相应的剩余行为。 我有多个名称相同的列。 每列中的时间不同,因此有多个时间列。 现在代码只输出 4 个单独的图。 有人可以告诉我如何在不使自己过于复杂的情况下做到这一点,我将来必须绘制多个文件并且想要一种简单的方法。
import pandas as pd
import matplotlib.pyplot as plt
HD = pd.read_excel('C:\\Users\\azizl\\Desktop\\HDPD_Data.xlsx')
HD.plot(x='Time Elapsed', y= 'Residual Act.' , label='24')
HD.plot(x='Time Elapsed.1', y= 'Residual Act..1', label='48')
HD.plot(x='Time Elapsed.2', y= 'Residual Act..2', label='normal')
HD.plot(x='Time Elapsed.3', y= 'Residual Act..3', label='physical')
plt.show()
HD.head()
假设您之前阅读过HD ,要生成您的情节,请尝试以下代码:
import matplotlib.pyplot as plt
labels = ['24', '48', 'normal', 'physical']
for slc in np.split(HD.values, HD.shape[1] // 2, axis=1):
plt.plot(slc[:, 0], slc[:, 1], 'o-')
plt.xlabel('Time elapsed')
plt.ylabel('Residual Act.')
plt.legend(labels)
plt.show()
这个想法是:
为了测试上面的代码,我创建了以下 DataFrame:
Time Elapsed Residual Act. Time Elapsed.1 Residual Act..1 Time Elapsed.2 Residual Act..2 Time Elapsed.3 Residual Act..3
0 1.00 4.15 1.10 4.10 1.15 3.50 1.05 3.76
1 1.15 4.01 1.27 3.90 1.30 3.20 1.20 3.00
2 1.80 3.40 1.90 3.50 2.11 3.00 2.00 2.90
3 2.20 3.00 2.50 3.05 2.47 2.88 2.30 2.70
4 2.90 2.50 2.95 2.20 2.90 2.40 3.10 2.30
5 3.60 2.00 4.00 1.70 3.86 2.20 4.05 2.00
原始 Excel 文件包含对经过的时间和残差行为。 列,但read_excel将.1 , .2 , ... 添加到重复的列名中。
已用时间以秒和剩余动作表示。 在任何选择的单位。
对于上述数据,我得到了以下图片:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.