import matplotlib.pyplot as plt
import pandas as pd
data = pd.read_excel('CommentArea.xlsx')
plt.rcParams['axes.unicode_minus']= False # 用来正常显示负号
plt.rcParams['font.sans-serif']=['SimHei'] #字体参数
plt.figure(figsize=(15,15))
plt.title('评论的回复次数随日期变化图',size=20)
#只取排名前十五的回复次数
df=pd.DataFrame(0,index=data['评论时间'].drop_duplicates().sort_values()[40:70],columns=num.index[:15])for i, j inzip(data['评论时间'],data['回复次数']):if j in df.columns:if i in df.index:
df.loc[i,j]+=1
#df=df.iloc[:-1,:]#去除最后一行缺失值
m,n=df.shape #m是浏览次数,n是回复次数
print(m,n)#m=25是行数,n=15是列数
print(df)#排名前25的评论时间和排名前15的回复次数的匹配矩阵
for i inrange(n):
plt.plot(range(m),df.iloc[:,i])#排名前十五的回复次数的折线图
plt.fill_between(range(m),df.iloc[:,i],alpha=0.5)
plt.xticks(range(m),df.index,rotation=45)
plt.xlabel('评论日期',size=10)
plt.legend(df.columns)
plt.show()