如何使用两条单​​独计算的线为seaborn线图创建图例

Sim*_*dio 3 python data-visualization matplotlib legend seaborn

我有以下线图,我需要为两条线创建图例。我的问题是我不知道如何将 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()
Run Code Online (Sandbox Code Playgroud)

Jun*_*rat 10

尝试这个:

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()
Run Code Online (Sandbox Code Playgroud)

我没有你的数据,所以我尝试使用我自己的数据:

    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
Run Code Online (Sandbox Code Playgroud)

我做到了

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()
Run Code Online (Sandbox Code Playgroud)

它给了我:

在此输入图像描述