

matplotlib のpyplotで一つのグラフに複数の折れ線グラフを表示させるにあたり、凡例の付し方についてご教示賜りたいと存じます。

今、複数の折れ線は、一つの変数に保存されており、一回のpyplotで描画できるものとします。その時、凡例の付し方がわかりません。

以下の例は、三角関数の正弦関数と余弦関数を一度に表示させる例ですが、この時凡例をどのように付したらよいでしょうか。(labelの引数をどのようにしたらよいのかわかりませんでした)

[code]

    import numpy as np
    from matplotlib import pyplot as plt
    
    x = np.linspace(1,10,100)
    
    y1 = np.sin(x).reshape(-1, 1)
    y2 = np.cos(x).reshape(-1, 1)
    y = np.concatenate([y1, y2], axis = 1)
    
    plt.plot(x, y, label = )
    plt.legend()
    
    
[/code]

ネットを調べても、ばらばらにpyplotを描画し、その都度labelを引数として指定する例はあるのですが、一回で凡例を表示させる例は見つかりませんでした。


CC BY-SA 4.0
2020-01-20T09:44:24.130
62385
2020-01-21T11:06:52.437
2020-01-21T00:38:51.193
3060
35514
question
python matplotlib
matplotlib の凡例の表示について


metropolis氏に掲載いただいた参照先で解決いたしました。ありがとうございます。

概要といたしましては、複数の折れ線グラフそれぞれを変数に保存し、それに対応するラベルをplt.legend内で対応させるように見受けられました。

Milla Well という方の投稿から、以下、引用です。

[code]

    from numpy import *
    from matplotlib.pyplot import *
    from numpy.random import *
    
    a = rand(4,4)
    a
    >>> array([[ 0.33562406,  0.96967617,  0.69730654,  0.46542408],
       [ 0.85707323,  0.37398595,  0.82455736,  0.72127002],
       [ 0.19530943,  0.4376796 ,  0.62653007,  0.77490795],
       [ 0.97362944,  0.42720348,  0.45379479,  0.75714877]])
    
    [b,c,d,e] = plot(a)
    legend([b,c,d,e], ["b","c","d","e"], loc=1)
    show()
    
[/code]


CC BY-SA 4.0
2020-01-20T10:45:09.217
62389
2020-01-21T11:06:52.437
2020-01-21T11:06:52.437
35514
62385
answer