我有绘制图表的代码:
destinations = ['JPA', 'FOR']
for destiny in destinations:
df_tmp = df[(df.DESTINY == destiny)]
df_tmp['max'] = df_tmp.groupby('DAYS_UNTIL_DEPARTURE')['COST'].transform('max')
df_tmp['min'] = df_tmp.groupby('DAYS_UNTIL_DEPARTURE')['COST'].transform('min')
plt.figure(figsize=(10,2))
sns.lineplot(x="DAYS_UNTIL_DEPARTURE", y="min", data=df_tmp, ci=None, palette="muted", label='min')
sns.lineplot(x="DAYS_UNTIL_DEPARTURE", y="max", data=df_tmp, ci=None, palette="muted", label='max')
plt.title(destiny , fontweight="bold", fontsize=16, pad=20)
plt.ylabel('Cost')
plt.show()
代码运行得很好
我想知道如何在同一个图形上绘制多个图表?换句话说,在一个图中有两个图表
我一直在尝试子绘图,但未能获得预期的结果
谢谢,谢谢
以下是我的数据示例:
DAYS_UNTIL_DEPARTURE,DESTINY,COST
10,JPA,100
9,JPA,90
8,JPA,85
7,JPA,86
6,JPA,87
5,JPA,71
4,JPA,90
3,JPA,77
2,JPA,88
1,JPA,87
0,JPA,74
10,FOR,99
9,FOR,90
8,FOR,96
7,FOR,79
6,FOR,84
5,FOR,74
4,FOR,85
3,FOR,74
2,FOR,88
1,FOR,100
0,FOR,87
groupby
和stack
数据帧要容易得多。min
和max
可以同时聚合李>seaborn
是{API
,因此我建议使用^{使用
sns.lineplot
的参数ax
下面的代码可以实现将多个图表组合成单个图表的简单示例
相关问题 更多 >
编程相关推荐