我有一个名为“original_filtered_df”的数据框。我正在尝试为两列(“COLOR”、“SIZE”)、另外两列(“WEIGHT”、“HEIGHT”)随时间(“DATE”)的每对可能的值绘制图。
下面的代码正确绘制。它创建多个图,每个图对应一个可能的值 ("COLOR", "SIZE")。每个图包含两条线,一条用于“WEIGHT”,一条用于“HEIGHT”。但是,图例名称没有说“重量”或“高度”。他们都说“日期”(x轴)。如何强制图例引用 y 轴数据,以便名称显示“重量”和“高度”?
import matplotlib.pyplot as plt
for combo in original_filtered_df.groupby(['COLOR', 'SIZE'], as_index=True):
color = combo[0][0]
size = combo[0][1]
filtered_df = original_filtered_df[(original_filtered_df["COLOR"] == color) & (original_filtered_df["SIZE"] == size)]
plt.figure()
filtered_df.plot(x="DATE", y="WEIGHT", color=(1,0,0))
filtered_df.plot(x="DATE", y="HEIGHT", color=(0,1,0))
#patches, labels = ax.get_legend_handles_labels()
#ax.legend(patches, labels, loc='center left', bbox_to_anchor=(1, 0.5))
plt.legend(loc='center left', bbox_to_anchor=(1, 0.5))
plt.title("COLOR " + str(color) + ", SIZE " + size)