「original_filtered_df」という名前のデータフレームがあります。2 つの列 (「COLOR」、「SIZE」)、他の 2 つの列 (「WEIGHT」、「HEIGHT」) からの値の可能なペアごとに、時間の経過 (「DATE」) をプロットしようとしています。
以下のコードは正しくプロットされます。("COLOR", "SIZE") の 1 つの可能な値ごとに、複数のプロットを作成します。各プロットには、"WEIGHT" 用と "HEIGHT" 用の 2 つの線が含まれています。ただし、凡例の名前には「WEIGHT」または「HEIGHT」とは記載されていません。どちらも「DATE」(x 軸) と言います。名前が「WEIGHT」と「HEIGHT」になるように、凡例に 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)