【matplotlib】カラーバーのラベルの表示、フォントサイズ、色、角度を変える方法[Python]

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

matplotlib

前回、Pythonのmatplotlibの散布図でそれぞれの点で違う色を使う方法を紹介しました。

その際、カラーバーが出てきたので、せっかくなので今回カラーバーのラベルの表示の仕方、フォントサイズや色、角度を変える方法を紹介します。

前回、カラーバーを表示した際のプログラムはこんな感じでした。

import matplotlib.pyplot as plt
import matplotlib.cm as cm
import random

order = range(20)
x_list = [random.randrange(10) for _ in order]
y_list = [random.randrange(10) for _ in order]
z_list = [random.randrange(10)*2 for x_val in x_list]

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

plt.scatter(x_list, y_list, c=z_list, cmap=cm.rainbow)

plt.colorbar()

plt.show()

実行結果

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

ラベルの表示

まずはラベルを表示してみます。

ラベルの表示方法は2種類あります。

一つ目は「plt.colorbar(label=”カラーバーのラベル”)」とする方法です。

import matplotlib.pyplot as plt
import matplotlib.cm as cm
import random

x_list = range(20)
y_list = [random.randrange(10) for _ in x_list]
z_list = [x_val*2 for x_val in x_list]

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

plt.scatter(x_list, y_list, c=z_list, cmap=cm.rainbow)

plt.colorbar(label="colorbar")

plt.show()

実行結果

ただしこの方法はラベルを表示するだけで、フォントサイズや色などを変えることはできません。

もう一つの方法は「plt.colorbar().set_label(“カラーバーのラベル”)」とする方法です。

import matplotlib.pyplot as plt
import matplotlib.cm as cm
import random

x_list = range(20)
y_list = [random.randrange(10) for _ in x_list]
z_list = [x_val*2 for x_val in x_list]

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

plt.scatter(x_list, y_list, c=z_list, cmap=cm.rainbow)

plt.colorbar().set_label("colorbar")

plt.show()

実行結果

こちらの方法であればこの後紹介する方法でフォントサイズを変えたり、色を変えたり、角度を変えることができます。

フォントサイズを変える方法

フォントサイズを変えるには「plt.colorbar().set_label(“カラーバーのラベル”, fontsize=サイズ)」とします。

import matplotlib.pyplot as plt
import matplotlib.cm as cm
import random

order = range(20)
x_list = [random.randrange(10) for _ in order]
y_list = [random.randrange(10) for _ in order]
z_list = [random.randrange(10)*2 for x_val in x_list]

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

plt.scatter(x_list, y_list, c=z_list, cmap=cm.rainbow)

plt.colorbar().set_label("colorbar", fontsize=15)

plt.show()

実行結果

ラベルの色を変える方法

ラベルの色を変えるには「plt.colorbar().set_label(“カラーバーのラベル”, color=”色”)」とします。

import matplotlib.pyplot as plt
import matplotlib.cm as cm
import random

order = range(20)
x_list = [random.randrange(10) for _ in order]
y_list = [random.randrange(10) for _ in order]
z_list = [random.randrange(10)*2 for x_val in x_list]

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

plt.scatter(x_list, y_list, c=z_list, cmap=cm.rainbow)

plt.colorbar().set_label("colorbar", color="red")

plt.show()

実行結果

ラベルの角度を変える方法

ラベルの角度を変えるには「plt.colorbar().set_label(“カラーバーのラベル”, rotation=角度)」とします。

import matplotlib.pyplot as plt
import matplotlib.cm as cm
import random

order = range(20)
x_list = [random.randrange(10) for _ in order]
y_list = [random.randrange(10) for _ in order]
z_list = [random.randrange(10)*2 for x_val in x_list]

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

plt.scatter(x_list, y_list, c=z_list, cmap=cm.rainbow)

plt.colorbar().set_label("colorbar", rotation=270)

plt.show()

実行結果

カラーバーのラベルと数値が少し被っているので、ついでにラベルを動かしてみます。

その場合は「labelpad=数値」を追加します。

import matplotlib.pyplot as plt
import matplotlib.cm as cm
import random

order = range(20)
x_list = [random.randrange(10) for _ in order]
y_list = [random.randrange(10) for _ in order]
z_list = [random.randrange(10)*2 for x_val in x_list]

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

plt.scatter(x_list, y_list, c=z_list, cmap=cm.rainbow)

plt.colorbar().set_label("colorbar", rotation=270, labelpad=10)

plt.show()

実行結果

次回はmatplotlibでplt.scatterを使ってバブルチャートを作成する方法を紹介します。

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

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

コメント

コメントする

目次