
前提・実現したいこと
すでに描画されているグラフに凡例(ラベル)をつけようとしています。
具体的には該当のソースコードのオレンジ色の線に「No.1」、緑色の線に「No.2」という具合です。
発生している問題・エラーメッセージ
以下のようなグラフをプロットしたのですが、データごとにラベルを付与してプロットしたわけではないので、グラフを描画した後で、凡例を付与する方法がわかりません。
該当のソースコード
python
1import matplotlib.pyplot as plt 2data = [[1,2,4,3,5,2], 3 [1,1,4,2,6,3], 4 [0, 2,5, 2,6,2]] 5plt.plot(data) 6plt.title("sample") 7plt.show()
試したこと
参考記事にあるような、データをプロットする前に凡例名をつける方法はわかりましたが、今回のプログラムではデータ別に指定していないので、この方法は適用できません。
plt.title("moon") plt.scatter(x0, y0, label="label-A") plt.scatter(x1, y1, label="label-B") plt.xlabel("X-LABEL") plt.xlabel("Y-LABEL") plt.legend()
補足情報(FW/ツールのバージョンなど)
python3.6
###ご回答を受けての追記
data
が以下の変形を受けて作成された場合、凡例を付与するためのコードを実行しても出力が異なります。
型はどちらもlist
ですが、なぜ出力がちがうのか、またこのような変形を経て生成する場合のプロットはどのように修正すべきでしょうか。
python
1data = [1,2,4,3,5,2, 1,1,4,2,6,3, 0, 2,5, 2,6,2] 2data = np.array(data) 3data = data.reshape(-1, 6) 4 5data 6""" 7array([[1, 2, 4, 3, 5, 2], 8 [1, 1, 4, 2, 6, 3], 9 [0, 2, 5, 2, 6, 2]]) 10""" 11fig, ax = plt.subplots() 12ax.plot(data) 13ax.set_title("sample") 14 15# 凡例を設定する。 16labels = ["A", "B", "C", "D", "E"] 17ax.legend(ax.lines, labels) 18 19plt.plot() 20 21#出力 22[]

回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。