我正在尝试根据下面的数据创建折线图,其中x轴为日期,y轴为得分,每个X值对应一条线
X Date Score
1 A 2019-06-01 80
2 A 2019-05-01 70
3 A 2019-04-01 60
4 B 2019-06-01 90
5 B 2019-05-01 50
6 B 2019-04-01 70
我尝试过df.groupby('X').head().plot.line(x='Date', y='Score')
。是否有必要使表旋转以使X的每个值都是一个新的列标题?
答案 0 :(得分:0)
您可以将Seaborn的lineplot
与hue
选项一起使用,并将其设置为特定的列X
,例如:
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
data = {'X':['A', 'A', 'A', 'B', 'B', 'B'],
'Date' :['2019-06-01', '2019-05-01', '2019-04-01', '2019-06-01', '2019-05-01', '2019-04-01'],
'Score': [80, 70, 60, 80, 50, 70]}
df = pd.DataFrame.from_dict(data)
ax = sns.lineplot(x="Date", y="Score", hue="X", data=df)
plt.show()