Pynote

Python、機械学習、画像処理について

matplotlib - 色の指定方法を整理する。

ANSIカラーで指定する。

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, np.pi * 2, 30)
y = np.sin(x)

# 折れ線グラフを作成する。
fig = plt.figure(figsize=(9, 9))
fig.subplots_adjust(wspace=0.5, hspace=0.5)
params = ['blue', 'green', 'red', 'cyan',
          'magenta', 'yellow', 'black', 'white']

for i, param in enumerate(params):
    axes = fig.add_subplot(3, 3, i + 1)

    axes.plot(x, y, color=param)
    axes.set_title("color='{}'".format(param))

plt.show()

名前の頭文字だけでもよい。

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, np.pi * 2, 30)
y = np.sin(x)

# 折れ線グラフを作成する。
fig = plt.figure(figsize=(9, 9))
fig.subplots_adjust(wspace=0.5, hspace=0.5)
params = ['b', 'g', 'r', 'c', 'm', 'y', 'b', 'w']

for i, param in enumerate(params):
    axes = fig.add_subplot(3, 3, i + 1)

    axes.plot(x, y, color=param)
    axes.set_title("color='{}'".format(param))

plt.show()

グレースケールで指定する。

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, np.pi * 2, 30)
y = np.sin(x)

# 折れ線グラフを作成する。
fig = plt.figure(figsize=(9, 6))
fig.subplots_adjust(wspace=0.5, hspace=0.5)
params = ['{:.1f}'.format(i) for i in np.arange(0., 1.1, 0.2)]

for i, param in enumerate(params):
    axes = fig.add_subplot(2, 3, i + 1)

    axes.plot(x, y, color=param)
    axes.set_title("color='{}'".format(param))

plt.show()


ANSIカラーで指定する。

www.colordic.org

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, np.pi * 2, 30)
y = np.sin(x)

# 折れ線グラフを作成する。
fig = plt.figure(figsize=(9, 9))
fig.subplots_adjust(wspace=0.5, hspace=0.5)
params = ['#40E0D0', '#87FF12', '#FF3233', '#FF2345', '#1dF144', '#1222D0']

for i, param in enumerate(params):
    axes = fig.add_subplot(3, 3, i + 1)

    axes.plot(x, y, color=param)
    axes.set_title("color='{}'".format(param))

plt.show()


HTMLカラーネームで指定する。

www.colordic.org

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, np.pi * 2, 30)
y = np.sin(x)

# 折れ線グラフを作成する。
fig = plt.figure(figsize=(9, 9))
fig.subplots_adjust(wspace=0.5, hspace=0.5)
params = ['dimgray', 'darkgreen', 'lawngreen', 'peru', 'cyan', 'slateblue']

for i, param in enumerate(params):
    axes = fig.add_subplot(3, 3, i + 1)

    axes.plot(x, y, color=param)
    axes.set_title("color='{}'".format(param))

plt.show()


RGBで指定する。

(r, g, b) で指定する。ただし、各値は [0, 255] でなく、[0, 1] で表すことに注意する。

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, np.pi * 2, 30)
y = np.sin(x)

# 折れ線グラフを作成する。
fig = plt.figure(figsize=(9, 9))
fig.subplots_adjust(wspace=0.5, hspace=0.5)
params = np.random.rand(6, 3)

for i, param in enumerate(params):
    axes = fig.add_subplot(3, 3, i + 1)

    axes.plot(x, y, color=param)
    axes.set_title("color='({:.2f}, {:.2f}, {:.2f})'".format(*param))

plt.show()