matplotlib ライブラリ

【python】matplotlibで色を指定する方法【figure、プロット、凡例の色変更など】

pythonのグラフ描画用ライブラリである「matplotlib」で色を指定する方法について紹介します。

本記事では、下記の内容を紹介します。

この記事で分かること

◆matplotlibで色を指定する方法

  • 色の名前で指定
  • RGBのタプルで指定
  • カラーコードで指定
  • 透明度(alpha)を指定

-

◆グラフの色を指定する具体的な方法

  • figureの色を指定
  • figureの枠線の色を指定
  • グラフの背景の色を指定
  • プロットの線の色
  • マーカーの色を指定
  • タイトルの色を指定
  • 凡例の色を指定

なお、matplotlibで使用できる色の一覧については、下記の記事で紹介しています。参考にしてみてください。

matplotlibで使用できる色の一覧

スポンサーリンク

matplotlibで色を指定する方法

はじめに、matplotlibで色を指定する方法について紹介します。

matplotlibで色を指定する方法としては、大きく下記の4つの方法があります。

  • 色の名前で指定
  • RGBのタプルで指定
  • カラーコードで指定
  • 透明度(alpha)を指定

それぞれの方法について、順番に紹介していきます。

色の名前で指定

matplotlibのグラフに使用する色を、色の名前で指定する方法について紹介します。

以下、色の名前で指定するサンプルコードです。

### 色の名前で指定
import matplotlib.pyplot as plt
import numpy as np
 
colorlist = ['b', 'g', 'r', 'tab:cyan', 'teal']
x = np.arange(0, len(colorlist))
y = np.repeat(1, len(colorlist))

plt.bar(x, y, color=colorlist, tick_label=colorlist, align="center")
plt.show()

コード実行後、表示されるグラフはこちらになります。

実行結果

> colorlist = ['b', 'g', 'r', 'tab:cyan', 'teal']

色の名前を文字列で用意しています。

> plt.bar(x, y, color=colorlist, tick_label=colorlist, align="center")

棒グラフの、それぞれの棒に色を割り当てています。
それぞれの色は、リスト型で、引数 color= に渡しています。

matplotlibで使用できる色の名前の一覧については、下記の記事で紹介しています。

matplotlibで使用できる色の一覧

RGBのタプルで指定

matplotlibのグラフに使用する色を、RGBのタプルで指定する方法について紹介します。

以下、RGBのタプルで指定するサンプルコードです。

### RGBのタプルで指定
import matplotlib.pyplot as plt
import numpy as np
 
colorlist = [(0,0,1), (0,1,0), (1,0,0), (0,0,0), (1,1,0)]
x = np.arange(0, len(colorlist))
y = np.repeat(1, len(colorlist))

plt.bar(x, y, color=colorlist, align="center")
plt.show()

コード実行後、表示されるグラフはこちらになります。

実行結果

> colorlist = [(0,0,1), (0,1,0), (1,0,0), (0,0,0), (1,1,0)]

色をR,G,Bの順番のタプルで用意しています。
タプル内の数値は、0~1の間で指定します。
例えば、(0,0,1)の場合、Blueのみ1なので、青色になります。

> plt.bar(x, y, color=colorlist, tick_label=colorlist, align="center")

棒グラフの、それぞれの棒に色を割り当てています。
それぞれの色は、リスト型で、引数 color= に渡しています。

カラーコードで指定

matplotlibのグラフに使用する色を、カラーコードで指定する方法について紹介します。

カラーコードとは、Web上で色を指定するコードで、#から始まる6桁の16進数で表されます。

以下、カラーコードで指定するサンプルコードです。

### カラーコードで指定
import matplotlib.pyplot as plt
import numpy as np
 
colorlist = ['#00008B', '#228B22', '#B22222', '#FFA500', '#8A2BE2']
x = np.arange(0, len(colorlist))
y = np.repeat(1, len(colorlist))

plt.bar(x, y, color=colorlist, tick_label=colorlist, align="center")
plt.show()

コード実行後、表示されるグラフはこちらになります。

実行結果

> colorlist = ['#00008B', '#228B22', '#B22222', '#FFA500', '#8A2BE2']

色を、カラーコードで用意しています。

> plt.bar(x, y, color=colorlist, tick_label=colorlist, align="center")

棒グラフの、それぞれの棒に色を割り当てています。
それぞれの色は、リスト型で、引数 color= に渡しています。

グレースケールで指定

matplotlibのグラフに使用する色を、グレースケールで指定する方法について紹介します。

以下、グレースケールで指定するサンプルコードです。

### グレースケールで指定
import matplotlib.pyplot as plt
import numpy as np
 
colorlist = ['0', '0.2', '0.4', '0.6', '0.8', '1.0']
x = np.arange(0, len(colorlist))
y = np.repeat(1, len(colorlist))

plt.bar(x, y, color=colorlist, tick_label=colorlist, align="center")
plt.show()

コード実行後、表示されるグラフはこちらになります。

実行結果

> colorlist = ['0', '0.2', '0.4', '0.6', '0.8', '1.0']

色を、グレースケールで用意しています。
グレースケールは文字列で指定します。

> plt.bar(x, y, color=colorlist, tick_label=colorlist, align="center")

棒グラフの、それぞれの棒に色を割り当てています。
それぞれの色は、リスト型で、引数 color= に渡しています。

透明度(alpha)を指定

matplotlibのグラフに使用する色は、透明度(alpha)を指定することができます。

以下、透明度(alpha)を指定するサンプルコードです。

### 透明度(alpha)を指定
import matplotlib.pyplot as plt
import numpy as np
 
colorlist = ['b', 'g', 'r', 'tab:cyan', 'teal']
x = np.arange(0, len(colorlist))
y = np.repeat(1, len(colorlist))

plt.bar(x, y, color=colorlist, tick_label=colorlist, align="center", alpha=0.5)
plt.show()

コード実行後、表示されるグラフはこちらになります。

実行結果

> plt.bar(x, y, color=colorlist, tick_label=colorlist, align="center", alpha=0.5)

matplotlib.pyplot.bar の引数として、透明度 alpha= を指定しています。

スポンサーリンク

matplotlibのfigureの色を指定

ここからは、グラフを構成する要素について、それぞれの色を変更する方法を紹介します。

figオブジェクトの背景の色を指定する方法を紹介します。

以下、サンプルコードです。

### figureの色を指定
import matplotlib.pyplot as plt
import numpy as np
 
colorlist = ['b', 'g', 'r', 'yellow', '#8A2BE2']
x = np.arange(0, len(colorlist))
y = np.repeat(1, len(colorlist))

fig = plt.figure(figsize = (6,4), facecolor='lightblue')

plt.bar(x, y, color=colorlist, tick_label=colorlist, align="center", alpha=0.8)
plt.show()

コード実行後、表示されるグラフはこちらになります。

実行結果

> fig = plt.figure(figsize = (6,4), facecolor='lightblue')

グラフを描画する、figオブジェクトを生成しています。
引数として facecolor= を指定することで、背景の色を変更できます。

matplotlibでグラフの枠線の色を指定

figオブジェクトの枠線の色を指定する方法を紹介します。

以下、サンプルコードです。

### グラフの枠線の色を指定
import matplotlib.pyplot as plt
import numpy as np
 
colorlist = ['b', 'g', 'r', 'yellow', '#8A2BE2']
x = np.arange(0, len(colorlist))
y = np.repeat(1, len(colorlist))

fig = plt.figure(figsize = (6,4), facecolor='lightblue', edgecolor='darkblue', linewidth=5)

plt.bar(x, y, color=colorlist, tick_label=colorlist, align="center", alpha=0.8)
plt.show()

コード実行後、表示されるグラフはこちらになります。

実行結果

> fig = plt.figure(figsize = (6,4), facecolor='lightblue', edgecolor='darkblue', linewidth=5)

グラフを描画する、figオブジェクトを生成しています。
引数として linewidth= を指定することで、枠線の幅を変更できます。
引数として edgecolor= を指定することで、枠線の色を変更できます。
枠線の幅を指定しないと、色を指定しても変化しませんので注意してください。

matplotlibでグラフの背景の色を指定

グラフの背景の色を指定する方法を紹介します。

以下、サンプルコードです。

### グラフの背景の色を指定
import matplotlib.pyplot as plt
import numpy as np
 
colorlist = ['b', 'g', 'r', 'yellow', '#8A2BE2']
x = np.arange(0, len(colorlist))
y = np.repeat(1, len(colorlist))

fig = plt.figure(figsize = (6,4), facecolor='lightblue')
plt.rcParams['axes.facecolor'] = 'lightgray'

plt.bar(x, y, color=colorlist, tick_label=colorlist, align='center', alpha=0.8)

plt.show()

コード実行後、表示されるグラフはこちらになります。

実行結果

> plt.rcParams['axes.facecolor'] = 'lightgray'

rcParamsを用いることで、matplotlibに関するさまざまな設定を行うことができます。
辞書型で変更したいパラメータを指定します。
グラフの背景の色を指定する場合は、'axes.facecolor' を指定します。

スポンサーリンク

matplotlibでプロットの線の色を指定

プロットの線の色を指定する方法を紹介します。

以下、サンプルコードです。

### プロットの線の色を指定
import matplotlib.pyplot as plt
import numpy as np
 
x = np.linspace(0, 10, 100)
y = np.sin(x)

fig = plt.figure(figsize = (6,4), facecolor='lightblue', edgecolor='darkblue', linewidth=3)
plt.rcParams['axes.facecolor'] = 'lightgray'

plt.xlabel('X')
plt.ylabel('Y')

plt.plot(x, y, linestyle='solid', marker='o', label='sin', color='darkblue')

plt.legend()

plt.show()

コード実行後、表示されるグラフはこちらになります。

実行結果

> plt.plot(x, y, linestyle='solid', marker='o', label='sin', color='darkblue')

matplotlib.pyplot.plot の引数として color= を指定することで、プロットの線の色を変更できます。

matplotlibでマーカー(marker)の色を指定

プロットのマーカーの色を指定する方法を紹介します。

以下、サンプルコードです。

### プロットのマーカーの色を指定
import matplotlib.pyplot as plt
import numpy as np
 
x = np.linspace(0, 10, 100)
y = np.sin(x)

fig = plt.figure(figsize = (6,4), facecolor='lightblue', edgecolor='darkblue', linewidth=3)
plt.rcParams['axes.facecolor'] = 'lightgray'

plt.xlabel('X')
plt.ylabel('Y')

plt.plot(x, y, linestyle='solid', marker='o', label='sin', color='darkblue',
        markeredgecolor='k',markerfacecolor='g')

plt.legend()

plt.show()

コード実行後、表示されるグラフはこちらになります。

実行結果

> plt.plot(x, y, linestyle='solid', marker='o', label='sin', color='darkblue',
> markeredgecolor='k',markerfacecolor='g')

matplotlib.pyplot.plot の引数として markeredgecolor= を指定することで、マーカーの枠線の色を変更できます。
markerfacecolor= を指定することで、マーカーの塗りつぶしの色を変更できます。

スポンサーリンク

matplotlibでタイトル(title)の色を指定

タイトルの文字の色を指定する方法を紹介します。

以下、サンプルコードです。

### タイトルの色を指定
import matplotlib.pyplot as plt
import numpy as np
 
x = np.linspace(0, 10, 100)
y = np.sin(x)

fig = plt.figure(figsize = (6,4), facecolor='lightblue', edgecolor='darkblue', linewidth=3)
fig.suptitle("Title", size=16, color='r')
plt.rcParams['axes.facecolor'] = 'lightgray'

plt.xlabel('X')
plt.ylabel('Y')

plt.plot(x, y, linestyle='solid', marker='o', label='sin', color='darkblue',
        markeredgecolor='k',markerfacecolor='g')

plt.legend()

plt.show()

コード実行後、表示されるグラフはこちらになります。

実行結果

> fig.suptitle("Title", size=16, color='r')

figオブジェクトにタイトルを追加してます。
引数として、color= を指定することで、タイトルの文字の色を変更できます。

matplotlibで凡例(legend)の色を指定

凡例について、以下の3つを変更する方法を紹介します。

  • 凡例の背景の色の指定方法
  • 凡例の枠線の色の指定方法
  • 凡例の文字の色の指定方法

以下、サンプルコードです。

### 凡例の色の指定方法
import matplotlib.pyplot as plt
import numpy as np
 
x = np.linspace(0, 10, 100)
y = np.sin(x)

fig = plt.figure(figsize = (6,4), facecolor='lightblue', edgecolor='darkblue', linewidth=3)
fig.suptitle("Title", size=16, color='r')
plt.rcParams['axes.facecolor'] = 'lightgray'

plt.xlabel('X')
plt.ylabel('Y')

plt.plot(x, y, linestyle='solid', marker='o', label='sin', color='darkblue',
        markeredgecolor='k',markerfacecolor='g')

plt.legend(facecolor='w', edgecolor='k', labelcolor='r')

plt.show()

コード実行後、表示されるグラフはこちらになります。

実行結果

> plt.legend(facecolor='w', edgecolor='k', labelcolor='r')

facecolorで凡例の塗りつぶし色を指定できます。
edgecolorで凡例の枠線の色を指定できます。
labelcolorで凡例の文字の色を指定できます。

スポンサーリンク

-matplotlib, ライブラリ
-,