我有以下问题:我想在一个图中将不同年份的图形组合起来。为了进一步向您解释我的问题,我在下面做了一个简化的问题。
# packages
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
在这里我要绘制一个简化的数据框
data = {'Dates': ['02-04-2014', '18-08-2014', '05-03-2014', '06-06-2014', '05-08-2013', '06-11-2013', '03-01-2013', '12-02-2013'], 'Values':
[7, 8, 11, 3, 6, 1, 8, 13]}
df = pd.DataFrame.from_dict(data)
这对我很重要,因为这是我解决问题的方式
df['Dates'] = pd.to_datetime(df['Dates'])
我在这里绘图
years = sorted([i for i in df['Dates'].apply(lambda x: x.year).unique()])
for i in years:
df1 = df[(df['Dates'].apply(lambda x: x.year) == i)]
df1 = df1.sort_values(by = ['Dates'])
plt.show()
在这种情况下,这将返回两个单独的折线图,一个折线图用于2013年,另一个折线图用于2014年。我希望将这些合并成一张图。所以,我得到了当年的传奇人物。
希望您能提供帮助!