pythonのグラフ描画用ライブラリである「matplotlib」で色を指定する方法について紹介します。
本記事では、下記の内容を紹介します。
この記事で分かること
◆matplotlibで色を指定する方法
- 色の名前で指定
- RGBのタプルで指定
- カラーコードで指定
- 透明度(alpha)を指定
-
◆グラフの色を指定する具体的な方法
- figureの色を指定
- figureの枠線の色を指定
- グラフの背景の色を指定
- プロットの線の色
- マーカーの色を指定
- タイトルの色を指定
- 凡例の色を指定
なお、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で使用できる色の名前の一覧については、下記の記事で紹介しています。
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で凡例の文字の色を指定できます。
スポンサーリンク