【matplotlib】凡例のタイトルや枠線の表示・変更方法、背景色の変更方法[Python]

  • URLをコピーしました!
目次

matplotlib

前回、Pythonのmatplotlibで凡例を横並びにする方法を紹介しました。

今回はmatplotlibの凡例のタイトルや枠線の表示・変更方法、背景色の変更方法を紹介します。

基本のプログラムはこんな感じで、2つのグラフがあるものにしてみました。

import matplotlib.pyplot as plt

x = range(0, 100)
y1 = [i for i in x]
y2 = [i*2 for i in x]

fig = plt.figure()
plt.clf()

plt.plot(x, y1, label="y1")
plt.plot(x, y2, label="y2")

plt.legend()
plt.show()

実行結果

それでは始めていきましょう。

凡例のタイトルの表示

凡例のタイトルを表示するには、「plt.legend()」に「title=”タイトル”」を追加します。

import matplotlib.pyplot as plt

x = range(0, 100)
y1 = [i for i in x]
y2 = [i*2 for i in x]

fig = plt.figure()
plt.clf()

plt.plot(x, y1, label="y1")
plt.plot(x, y2, label="y2")

plt.legend(title="TITLE")
plt.show()

実行結果

凡例タイトルのフォントサイズの変更方法

凡例タイトルのフォントサイズを変更するにはさらに「title_fontsize=フォントサイズ」を追加します。

このフォントサイズとして指定できるものとしては数値の他、「small」、「large」でも指定することができます。

import matplotlib.pyplot as plt

x = range(0, 100)
y1 = [i for i in x]
y2 = [i*2 for i in x]

fig = plt.figure()
plt.clf()

plt.plot(x, y1, label="y1")
plt.plot(x, y2, label="y2")

plt.legend(title="TITLE", title_fontsize=25)
plt.show()

実行結果
import matplotlib.pyplot as plt

x = range(0, 100)
y1 = [i for i in x]
y2 = [i*2 for i in x]

fig = plt.figure()
plt.clf()

plt.plot(x, y1, label="y1")
plt.plot(x, y2, label="y2")

plt.legend(title="TITLE", title_fontsize="large")
plt.show()

実行結果
import matplotlib.pyplot as plt

x = range(0, 100)
y1 = [i for i in x]
y2 = [i*2 for i in x]

fig = plt.figure()
plt.clf()

plt.plot(x, y1, label="y1")
plt.plot(x, y2, label="y2")

plt.legend(title="TITLE", title_fontsize="small")
plt.show()

実行結果

凡例の枠線の非表示化の方法

凡例の枠線はデフォルトで表示されていますが、「plt.legend()」に「frameon=False」を追加すると非表示にすることができます。

import matplotlib.pyplot as plt

x = range(0, 100)
y1 = [i for i in x]
y2 = [i*2 for i in x]

fig = plt.figure()
plt.clf()

plt.plot(x, y1, label="y1")
plt.plot(x, y2, label="y2")

plt.legend(frameon=False)
plt.show()

実行結果

凡例の枠線の色を変える方法

凡例の枠線の色を変えるには「plt.legend()」に「edgecolor=”色”」を追加します。

import matplotlib.pyplot as plt

x = range(0, 100)
y1 = [i for i in x]
y2 = [i*2 for i in x]

fig = plt.figure()
plt.clf()

plt.plot(x, y1, label="y1")
plt.plot(x, y2, label="y2")

plt.legend(edgecolor="Red")
plt.show()

実行結果

凡例の枠線に影をつける方法

凡例の枠線に影をつけるには「plt.legend()」に「shadow=True」を追加します。

import matplotlib.pyplot as plt

x = range(0, 100)
y1 = [i for i in x]
y2 = [i*2 for i in x]

fig = plt.figure()
plt.clf()

plt.plot(x, y1, label="y1")
plt.plot(x, y2, label="y2")

plt.legend(shadow=True)
plt.show()

実行結果

凡例の背景色を変える方法

凡例の背景色を変えるには「plt.legend()」に「facecolor=”色”」を追加します。

import matplotlib.pyplot as plt

x = range(0, 100)
y1 = [i for i in x]
y2 = [i*2 for i in x]

fig = plt.figure()
plt.clf()

plt.plot(x, y1, label="y1")
plt.plot(x, y2, label="y2")

plt.legend(facecolor="lightblue")
plt.show()

実行結果

凡例を透明化する方法

凡例を透明化するには「plt.legend()」に「framealpha=比率」を追加します。

import matplotlib.pyplot as plt

x = range(0, 100)
y1 = [i for i in x]
y2 = [i*2 for i in x]

fig = plt.figure()
plt.clf()

plt.plot(x, y1, label="y1")
plt.plot(x, y2, label="y2")

plt.legend(framealpha=0.25)
plt.show()

実行結果

次回は凡例をグラフエリアの外に配置する方法を紹介します。

ではでは今回はこんな感じで。

よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメントする

目次