[英]How to create a legend for a seaborn lineplot with two separately calculated lines
我有以下線圖,並且需要為這兩條線創建圖例。 我的問題是我無法弄清楚如何在這兩行中使用legend()。
我想要的是在圖外有圖例框,其中rvn行的“收入”和bgt行的“預算”。
我努力了
plt.legend(handles=[bgt, rvn])
和
plt.legend((bgt, rvn), ('Budget', 'Revenue'))
,
但是他們沒有用。
bgt = sns.lineplot(x= 'release_year', y='budget_adj_avg', data= df_bpr_avg) # blue
rvn = sns.lineplot(x= 'release_year', y='revenue_adj_avg', data= df_bpr_avg);# orange
plt.xlabel("Release year")
plt.ylabel("Amount ($)")
plt.title("Comparison average movies Budget and Revenue per year")
#plt.legend((bgt, rvn), ('Budget', 'Revenue'))
plt.legend(handles=[bgt, rvn])
plt.show()
嘗試這個:
bgt = sns.lineplot(x= 'release_year', y='budget_adj_avg', data= df_bpr_avg, palette = 'blue', label = 'bgt')
rvn = sns.lineplot(x= 'release_year', y='revenue_adj_avg', data= df_bpr_avg, palette = 'orange', label = 'rvn')
plt.xlabel("Release year")
plt.ylabel("Amount ($)")
plt.title("Comparison average movies Budget and Revenue per year")
plt.legend()
plt.show()
我沒有您的數據,因此嘗試使用自己的數據:
index size half
0 0 20 10
1 1 28 14
2 2 38 19
3 3 42 21
4 4 42 21
5 5 42 21
6 6 44 22
7 7 124 62
8 8 176 88
9 9 192 96
10 10 194 97
11 11 216 108
12 12 228 114
13 13 316 158
14 14 318 159
15 15 2048 1024
16 16 2714 1357
17 17 2802 1401
18 18 4128 2064
19 19 4186 2093
20 20 6910 3455
21 21 9313 4656
22 22 10816 5408
23 23 16560 8280
24 24 20704 10352
25 25 34766 17383
26 26 91022 45511
我做到了
sns.lineplot(x = s['index'], y = s['size'], palette = 'blue', label="full")
sns.lineplot(x = s['index'], y = s['half'], palette = 'orange', label="half")
plt.legend()
它給了我:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.