从线图在matplotlib中绘制平均值?

2024-04-20 03:41:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我对编码领域相当陌生,一直在尝试熟悉用于数据分析的代码。我试图找出如何在这个折线图中插入数据集的平均值。它包含来自多个主题、跨越多天的数据,我很想知道是否有任何方法可以获取数据的“平均值”或行数,并将其插入到代码中,以便显示在图表上。我尝试过搜索stack overflow和matplotlib.org,但没有成功。在此方面的任何帮助都将不胜感激

**进一步澄清:共有九个受试者,每个受试者的准确率在50%-100%之间。数据在excel中编译,excel中有一行“天”(1-22)和“主题”(在给定的日期具有相应的准确性,即第1天为50%,第2天为65%,等等)

这是我的密码:

import pandas as pd 
import matplotlib.pyplot as plt
import numpy as np

df = pd.read_excel('data.xlsx')

plt.figure(figsize=(10, 7))
Day = df['Day']
Accuracy = df[['Subject 1', 'Subject 2', 'Subject 3', 'Subject 4', 'Subject 5', 'Subject 6', 'Subject 7', 'Subject 8', 'Subject 9']]
plt.plot(Day, Accuracy, alpha = 0.3)
plt.axis([1, 22, 0.55, 1])
plt.axhline(y=0.8, color='black', linestyle='--', alpha=0.3)
plt.xlabel('Day')
plt.ylabel('Accuracy')
plt.title("Days to Acquisition by Subject")
ax = plt.subplot()
ax.set_xticks(Day)
plt.show()

这就是我得到的: Graph with results


Tags: 数据代码importdf主题matplotlibasplt
1条回答
网友
1楼 · 发布于 2024-04-20 03:41:02
import pandas as pd 
import matplotlib.pyplot as plt
import numpy as np

df = pd.read_excel('data.xlsx')

plt.figure(figsize=(10, 7))
Day = df['Day']
Accuracy = df[['Subject 1', 'Subject 2', 'Subject 3', 'Subject 4', 'Subject 5', 'Subject 6', 'Subject 7', 'Subject 8', 'Subject 9']]
Accuracy_mean = df[['Subject 1', 'Subject 2', 'Subject 3', 'Subject 4', 'Subject 5', 'Subject 6', 'Subject 7', 'Subject 8', 'Subject 9']].mean(axis=1)
plt.plot(Day, Accuracy, alpha = 0.3)
plt.plot(Day, Accuracy_mean)
plt.axis([1, 22, 0.55, 1])
plt.axhline(y=0.8, color='black', linestyle=' ', alpha=0.3)
plt.xlabel('Day')
plt.ylabel('Average Accuracy')
plt.title("Days to Acquisition by Subject")
ax = plt.subplot()
ax.set_xticks(Day)
plt.show()

相关问题 更多 >