我有以下线图,我需要为两条线创建图例。我的问题是我不知道如何将 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) 我正在尝试将日期时间对象转换为日期时间。在原始数据框中,数据类型是字符串,数据集的形状为 (28000000, 26)。重要的是,日期格式仅为 MMYYYY。这是一个数据示例:
DATE
Out[3] 0 081972
1 051967
2 101964
3 041975
4 071976
Run Code Online (Sandbox Code Playgroud)
我试过:
df['DATE'].apply(pd.to_datetime(format='%m%Y'))
Run Code Online (Sandbox Code Playgroud)
和
pd.to_datetime(df['DATE'],format='%m%Y')
Run Code Online (Sandbox Code Playgroud)
我两次都遇到运行时错误
然后
df['DATE'].apply(pd.to_datetime)
Run Code Online (Sandbox Code Playgroud)
它适用于其他未显示的列(采用 DDMMYYYY 格式),但使用 df['DATE'] 生成未来日期,因为它将日期读取为 MMDDYY 而不是 MMYYYY。
DATE
0 1972-08-19
1 2067-05-19
2 2064-10-19
3 1975-04-19
4 1976-07-19
Run Code Online (Sandbox Code Playgroud)
期望输出:
DATE
0 1972-08
1 1967-05
2 1964-10
3 1975-04
4 1976-07
Run Code Online (Sandbox Code Playgroud)
如果这个问题是重复的,请引导我到原来的问题,我找不到任何合适的答案。
预先感谢大家的帮助