目次
matplotlib
前回、Pythonのmatplotlibでannotateで矢印と注釈(アノテーション)をグラフに表示する方法を紹介しました。
【matplotlib】annotateで矢印と注釈(アノテーション)をグラフに表示する方法[Python]
matplotlib 前回、Pythonのtimeモジュールを使って繰り返し処理の時間を一定にする方法を紹介しました。 今回はmatplotlibのannotateを使って矢印と注釈(アノテーショ…
今回は凡例を横並びにする方法を紹介します。
とりあえず基本となるプログラムをこんな感じで準備してみました。
import matplotlib.pyplot as plt
x = range(0, 100)
y1 = [i for i in x]
y2 = [i*2 for i in x]
y3 = [i*3 for i in x]
fig = plt.figure()
plt.clf()
plt.plot(x, y1, label="y1")
plt.plot(x, y2, label="y2")
plt.plot(x, y3, label="y3")
plt.legend()
plt.show()
実行結果
「y1」 、「y2」、「y3」という3本の線があるグラフです。
デフォルトでは凡例は縦に並んでいます。
それでは始めていきましょう。
凡例を横に並べる方法
凡例を横に並べるには「plt.legend()」に「ncol=凡例の数」を追加します。
import matplotlib.pyplot as plt
x = range(0, 100)
y1 = [i for i in x]
y2 = [i*2 for i in x]
y3 = [i*3 for i in x]
fig = plt.figure()
plt.clf()
plt.plot(x, y1, label="y1")
plt.plot(x, y2, label="y2")
plt.plot(x, y3, label="y3")
plt.legend(ncol=3)
plt.show()
実行結果
注意すべきは「ncol」で指定する数値が凡例の数より少ない場合、完全には横並びにならないことです。
import matplotlib.pyplot as plt
x = range(0, 100)
y1 = [i for i in x]
y2 = [i*2 for i in x]
y3 = [i*3 for i in x]
fig = plt.figure()
plt.clf()
plt.plot(x, y1, label="y1")
plt.plot(x, y2, label="y2")
plt.plot(x, y3, label="y3")
plt.legend(ncol=2)
plt.show()
実行結果
ちなみにncolで指定した数値が、実際の凡例の数よりも多い場合は特に問題ありません。
import matplotlib.pyplot as plt
x = range(0, 100)
y1 = [i for i in x]
y2 = [i*2 for i in x]
y3 = [i*3 for i in x]
fig = plt.figure()
plt.clf()
plt.plot(x, y1, label="y1")
plt.plot(x, y2, label="y2")
plt.plot(x, y3, label="y3")
plt.legend(ncol=4)
plt.show()
実行結果
次回は凡例のタイトル、背景色、枠線の表示や変更方法を紹介していきます。
【matplotlib】凡例のタイトルや枠線の表示・変更方法、背景色の変更方法[Python]
matplotlib 前回、Pythonのmatplotlibで凡例を横並びにする方法を紹介しました。 今回はmatplotlibの凡例のタイトルや枠線の表示・変更方法、背景色の変更方法を紹介し…
ではでは今回はこんな感じで。
コメント