matplotlib で 色 を変更したいです。
matplotlib では 様々な方法 で色を指定することができる。
その全てを整理して解説しよう。
✔️ 本記事のテーマ
matplotlib で 色 を指定する方法
✔️ 読者さんへの前置きメッセージ
本記事は
「matplotlib における 色 の指定方法」
について書いています。
matplotlib ライブラリでは、
表示するグラフの色を指定することができます。
この記事ではその指定方法ごとに、
matoplotlib での 色 の指定方法について解説します。
この記事に掲載しているサンプルコードは環境さえ整っていれば、
コピペで動くはずなので使用して頂いてOKです。
では、解説していきましょう。
matolotlib で 色 を指定する引数
matplotlib で色を指定するときには 引数 color で色を指定します。
import numpy as np
import matplotlib.pyplot as plt
left = np.array([1, 2, 3, 4, 5])
height = np.array([100, 200, 300, 400, 500])
plt.bar(left, height, color='red')
plt.show()
上記コードでは棒グラフを描画する plt.bar の引数 color に ‘red’ を渡すことで
赤色の棒グラフを表示することができます。
この引数 color の指定方法は様々あるので、次の章から順番にみていきましょう。
matplotlib の 色 を指定する方法一覧
matplotlib で色を指定するには以下の方法を使うことができます。
それぞれのメソッドについて、サンプルコードを使って解説していきます。
(上の目次はページ内リンクになっています)
1文字(色の頭文字)で指定する
matplotlib は引数 color をアルファベット1文字で指定することができます。
1文字で使えるアルファベットは以下の 8 種類だけです。
- b … 青 (Blue)
- g … 緑 (Green)
- r … 赤 (Red)
- c … シアン (Cyan)
- m … マゼンタ (Magenta)
- y … 黄 (Yellow)
- k … 黒 (Black)
- w … 白 (White)
文字列として渡す必要があるので、‘ で囲います。
import numpy as np
import matplotlib.pyplot as plt
left = np.array([1, 2, 3, 4, 5])
height = np.array([100, 200, 300, 400, 500])
plt.bar(left, height, color='g')
plt.show()
上記コードでは棒グラフを描画する plt.bar の引数 color に ‘g’ を渡すことで
緑色の棒グラフを表示することができます。
色の名前で指定する
matplotlib は引数 color を色の名前で指定することができます。
例えば、
- red
- blue
- green
- orange
- purple
- pink
- yellow
- seagreen
- skyblue
などの色名を使うことができます。
使うことができる色一覧は Matplotlib の公式ページに記載されています。
import numpy as np
import matplotlib.pyplot as plt
left = np.array([1, 2, 3, 4, 5])
height = np.array([100, 200, 300, 400, 500])
plt.bar(left, height, color='yellow')
plt.show()
上記コードでは棒グラフを描画する plt.bar の引数 color に ‘yellow’ を渡すことで
黄色の棒グラフを表示することができます。
カラーコードで色を指定する
matplotlib は引数 color をカラーコードで指定することができます。
一例として、
- #FF0000: 赤
- #0000FF: 青
- #008000: 緑
- #FFA500: オレンジ
- #800080: 紫
- #FFC0CB: ピンク
- #FFFF00: 黄
などのコードを使うことができます。
上記以外にもカラーコードが振られている全ての色を使用することができます。
import numpy as np
import matplotlib.pyplot as plt
left = np.array([1, 2, 3, 4, 5])
height = np.array([100, 200, 300, 400, 500])
plt.bar(left, height, color='#FFC0CB')
plt.show()
カラーコードも他の方法と同様に文字列型(”)として渡します。
上記コードでは棒グラフを描画する plt.bar の引数 color に ‘#FFC0CB’ を渡すことで
ピンク色の棒グラフを表示しています。
RGB形式で色を指定する
matplotlib は引数 color をRGB 形式で指定することができます。
RGB 形式とは タプルで (赤, 緑, 青) の色の度合いを数字で指定する方法です。
color=(1.0, 0.5, 0.5)
注意点として、OpenCV などで使われる一般的な 0 ~ 255 ではなく、0 ~ 1 の範囲で指定します。
- 青: (0.0, 0.0, 1.0)
- 緑: (0.0, 0.5, 0.0)
- 赤: (1.0, 0.0, 0.0)
- 黄: (1.0, 1.0, 0.5)
- 黒: (0.0, 0.0, 0.0)
import numpy as np
import matplotlib.pyplot as plt
left = np.array([1, 2, 3, 4, 5])
height = np.array([100, 200, 300, 400, 500])
plt.bar(left, height, color=(0.0, 0.0, 1.0))
plt.show()
上記コードでは棒グラフを描画する plt.bar の引数 color に (0.0, 0.0, 1.0) を渡すことで
青色の棒グラフを表示することができます。
グレースケールで指定する
matplotlib は引数 color をグレースケールで指定することができます。
0.0 – 1.0 の間の数字を渡すことで、その値に応じた濃度の灰色が使用されます。
(0.0 が黒、1.0 が白)
注意点として、float 型ではなく、文字列型として渡す必要があります。
color=’0.5′
import numpy as np
import matplotlib.pyplot as plt
left = np.array([1, 2, 3, 4, 5])
height = np.array([100, 200, 300, 400, 500])
plt.bar(left, height, color='0.7')
plt.show()
上記コードでは棒グラフを描画する plt.bar の引数 color に ‘0.7’ を渡すことで
薄い灰色の棒グラフを表示することができます。
カラーグラデーションで色を指定する
matplotlib はライブラリとして、特定の色のセット「カラーマップ」が用意されています。
matplotlib では以下のカラーマップを使うことができます。
- Blues … 薄い青から濃い青に変化する
- Resds … 薄い赤から濃い赤に変化する
- cool … 寒色系から暖色系に変化する
- Spectral … 虹色に変化する(赤 ⇒ オレンジ ⇒ 黄色 ⇒ 緑 ⇒ 青 ⇒ 紫)
使用できる全てのカラーマップは、公式ドキュメントで確認できます。
カラーマップの使い方は少し複雑なので、順番に解説していきましょう。
まず、カラーマップインスタンスを生成します。
cm = plt.get_cmap("カラーマップ名")
そのインスタンスの引数に 0.0 – 1.0 の間のカラーマップ値を渡すことで、
その値に応じた色が使用されます。
color = cm(x)
コードの全体像としては、以下のようになります。
import numpy as np
import matplotlib.pyplot as plt
left = np.array([1, 2, 3, 4, 5])
height = np.array([100, 200, 300, 400, 500])
# カラーマップインスタンス生成
cm = plt.get_cmap("Blues")
color_maps = [cm(0.1), cm(0.3), cm(0.5), cm(0.7), cm(0.9)]
plt.bar(left, height, color=color_maps)
plt.show()
import numpy as np
import matplotlib.pyplot as plt
left = np.array([1, 2, 3, 4, 5])
height = np.array([100, 200, 300, 400, 500])
# カラーマップインスタンス生成
cm = plt.get_cmap("Spectral")
color_maps = [cm(0.1), cm(0.3), cm(0.5), cm(0.7), cm(0.9)]
plt.bar(left, height, color=color_maps)
plt.show()
matplotlib のスキルをつけるための1冊
今回は matplotlib の使い方と処理の流れについて解説しました。
matplotlib はデータ分析などでも使用される便利なライブラリです。
もし、matplotlib について独学でスキルをつけるなら、以下の書籍がオススメです。
この書籍は matplotlib ライブラリについて理解するところから、
実際にグラフを表示するところまでを解説しています。
実践的なステップを踏まえて matplotlib について解説しているので、
書籍をマスターすることで様々な美しいグラフをプログラムで描画することができます。
エンジニアとしての自身の価値をチェックする(完全無料)
エンジニアとして、
自分の価値がどれくらいのものかご存知でしょうか?
エンジニアとしてIT業界に身を置いていると
今の会社でずっと働くのか、フリーランスとして独立するのか …
と様々な選択肢があります。
どの選択肢が正解なのかを見極めるためにも、選択肢を広げるためにも
自身の価値を知っておくことはとても重要です。
TechClips ME では、
職務経歴書をアップロードするだけで企業からのスカウトを受けることができます。
▼▼▼▼▼
▲▲▲▲▲
しかもTechClips MEでは想定年収を企業から提示してくれるので、
自身の価値を数字で分かりやすくたしかめることができます。
登録はもちろん完全無料なので、一度登録してみると良いかもしれません。
コメント