Matplotlibで色を使いこなそう!カラー設定の基本から応用まで完全解説

※本サイトにはプロモーション・広告が含まれています。

(最終更新月: 2024年11月)

✔こんな方におすすめの記事です

「Matplotlibでグラフの色を変更したいけど、やり方がわからない」
「色の指定方法がたくさんあって混乱している」
「より魅力的なグラフを作るためのカラー設定を知りたい」

✔当記事を通じて得られること

  • Matplotlibでの色の指定方法をマスター
  • グラフの視認性を高める配色テクニック
  • 実践的なカラーカスタマイズの方法

当記事では、Matplotlibの基本的な色の設定方法から魅力的な配色テクニックまで、実例を交えて幅広く解説していきます。

ぜひ最後までご覧ください。

筆者プロフィール

筆者プロフィールアイコン

【現職】プロダクトマネージャー

【副業】ブログ(月間20万PV)/YouTube/Web・アプリ制作

「プログラミング × ライティング × 営業」の経験を活かし、30後半からのIT系職へシフト。現在はプロダクトマネージャーとして、さまざまな関係者の間に入り奮闘してます。当サイトでは、実際に手を動かせるWebアプリの開発を通じて、プログラミングはもちろん、IT職に必要な情報を提供していきます。

【当ブログで紹介しているサイト】

当サイトチュートリアルで作成したデモ版日報アプリ

Django × Reactで開発したツール系Webアプリ

✔人に見せても恥ずかしくないコードを書こう

「リーダブルコード」は、わかりやすく良いコードの定義を教えてくれる本です。

  • 見るからにきれいなコードの書き方
  • コードの分割方法
  • 変数や関数の命名規則

エンジニアのスタンダートとすべき基準を一から解説しています。

何回も読むのに値する本なので、ぜひ手にとって読んでみてください。

Matplotlibの色指定の基本

Matplotlibで色を指定する方法について詳しく解説していきます。
グラフを作成する際、最も重要な要素の一つが色の設定なのです。

  • 色の名前による指定方法
  • RGBによる色指定
  • 16進数カラーコードの使い方

色の名前による指定方法

Matplotlibでは、一般的な色名を使って簡単に色を指定できます。
英語の色名を文字列として指定するだけで、直感的に色を設定できるのです。
以下は基本的な色名の例です。

import matplotlib.pyplot as plt

plt.plot([1, 2, 3], color='red')
plt.plot([2, 3, 4], color='blue')
plt.plot([3, 4, 5], color='green')
plt.show()

主な色名には以下のようなものがあります。

  • red(赤)
  • blue(青)
  • green(緑)
  • yellow(黄)
  • black(黒)
  • white(白)

RGBによる色指定

RGBを使用すると、より細かい色の調整が可能です。
各色の強さを0から1の間の数値で指定することで、あらゆる色を表現できるのです。
以下のコードで、RGB指定の方法を確認できます。

import matplotlib.pyplot as plt

plt.plot([1, 2, 3], color=(1, 0, 0))  # 赤
plt.plot([2, 3, 4], color=(0, 0, 1))  # 青
plt.plot([3, 4, 5], color=(0.5, 0.5, 0))  # 暗い黄色
plt.show()

16進数カラーコードの使い方

Webデザインでよく使用される16進数カラーコードも利用できます。
この方法は、他のデザインツールとの連携がしやすいという利点があります。
以下のように、シャープ記号に続けて6桁の16進数で指定します。

import matplotlib.pyplot as plt

plt.plot([1, 2, 3], color='#FF0000')  # 赤
plt.plot([2, 3, 4], color='#0000FF')  # 青
plt.plot([3, 4, 5], color='#00FF00')  # 緑
plt.show()

グラフの要素別カラー設定

グラフの各要素に色を設定する方法を解説します。
見やすいグラフを作成するには、要素ごとの適切な色設定が重要です。

  • 線の色設定
  • マーカーの色設定
  • 塗りつぶしの色設定

線の色設定

グラフの線の色は、plotメソッドのcolorパラメータで設定できます。
線の色を変更することで、複数の線を区別しやすくなるのです。
実際のコード例を見てみましょう。

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 10, 100)
plt.plot(x, np.sin(x), color='blue', label='sin')
plt.plot(x, np.cos(x), color='red', label='cos')
plt.legend()
plt.show()

マーカーの色設定

データポイントを示すマーカーの色も個別に設定できます。
markerfacecolorとmarkeredgecolorを使うことで、マーカーの塗りつぶし色と枠線の色を別々に指定できるのです。
以下のコードで確認してみましょう。

import matplotlib.pyplot as plt

plt.plot([1, 2, 3], 'o', markerfacecolor='red', 
         markeredgecolor='black', markersize=12)
plt.show()

塗りつぶしの色設定

棒グラフや円グラフなどでは、塗りつぶしの色が重要です。
facecolorパラメータを使用することで、適切な塗りつぶし色を設定できます。
以下は棒グラフの例です。

import matplotlib.pyplot as plt

plt.bar([1, 2, 3], [4, 5, 6], 
        facecolor=['red', 'blue', 'green'])
plt.show()

配色テクニック

効果的な配色について詳しく解説していきます。
適切な配色は、データの可視化において非常に重要な要素となります。

  • カラーマップの使用方法
  • 配色の基本ルール
  • カラーパレットの活用

カラーマップの使用方法

Matplotlibには、様々な用途に適したカラーマップが用意されています。
データの性質に応じて適切なカラーマップを選択することで、より効果的な可視化が可能になるのです。
以下のコードで、代表的なカラーマップを確認できます。

import matplotlib.pyplot as plt
import numpy as np

data = np.random.rand(10, 10)
plt.imshow(data, cmap='viridis')
plt.colorbar()
plt.show()

配色の基本ルール

効果的な配色には、いくつかの基本的なルールがあります。
色の組み合わせによって、データの見やすさや印象が大きく変わってくるのです。
重要なルールには以下のようなものがあります。

  • コントラストを意識する
  • 色数は必要最小限に抑える
  • カラーユニバーサルデザインに配慮する

カラーパレットの活用

事前に定義されたカラーパレットを使うと、調和の取れた配色が簡単に実現できます。
Matplotlibには、様々なカラーパレットが用意されているのです。
以下のコードで、カラーパレットの使用例を確認できます。

import matplotlib.pyplot as plt
import numpy as np

# プロパティサイクルの設定
plt.style.use('seaborn')
x = np.linspace(0, 10, 100)
for i in range(5):
    plt.plot(x, np.sin(x + i))
plt.show()

透明度の設定

透明度の設定について詳しく解説します。
透明度を適切に活用することで、より洗練されたグラフを作成できます。

  • alphaパラメータの使い方
  • 重なり合う要素の表現方法
  • 透明度を活用したデザインテクニック

alphaパラメータの使い方

alphaパラメータを使用すると、要素の透明度を調整できます。
0から1の間の値で指定し、0が完全に透明、1が完全に不透明となります。
以下のコードで、透明度の効果を確認できます。

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 10, 100)
plt.plot(x, np.sin(x), alpha=0.3, color='blue')
plt.plot(x, np.cos(x), alpha=0.7, color='red')
plt.show()

重なり合う要素の表現方法

複数の要素が重なり合う場合、透明度を活用することで視認性が向上します。
特に、散布図や面グラフなどで効果を発揮するのです。
以下のコードは、重なり合う散布図の例です。

import matplotlib.pyplot as plt
import numpy as np

x = np.random.normal(0, 1, 1000)
y = np.random.normal(0, 1, 1000)
plt.scatter(x, y, alpha=0.5)
plt.show()

透明度を活用したデザインテクニック

透明度を効果的に使用することで、グラフの見栄えを大きく改善できます。
特に、以下のような場面で活用すると効果的です。
実際のコードで確認してみましょう。

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)

plt.fill_between(x, y1, alpha=0.3, color='blue')
plt.fill_between(x, y2, alpha=0.3, color='red')
plt.plot(x, y1, color='blue')
plt.plot(x, y2, color='red')
plt.show()

カスタマイズテクニック

より高度なカラーカスタマイズについて解説します。
グラフをより魅力的に見せるためには、細かな調整が重要になってきます。

  • グラデーションの作成方法
  • 配色テーマの設定
  • スタイルシートの活用

グラデーションの作成方法

グラデーションを使用すると、より洗練された見た目のグラフを作成できます。
LinearSegmentedColormapを使用することで、カスタムのグラデーションを作成できるのです。
以下のコードで、グラデーションの作成方法を確認できます。

import matplotlib.pyplot as plt
import matplotlib.colors as mcolors
import numpy as np

# カスタムグラデーションの作成
colors = [(0, 'blue'), (0.5, 'white'), (1, 'red')]
n_bins = 100
cmap = mcolors.LinearSegmentedColormap.from_list('custom', colors, N=n_bins)

data = np.random.randn(10, 10)
plt.imshow(data, cmap=cmap)
plt.colorbar()
plt.show()

配色テーマの設定

Matplotlibには、様々な配色テーマが用意されています。
スタイルを変更することで、グラフの見た目を大きく変えることができるのです。
以下のコードで、テーマの設定方法を確認できます。

import matplotlib.pyplot as plt
import numpy as np

# 利用可能なスタイルの確認
print(plt.style.available)

# スタイルの設定
plt.style.use('seaborn')
x = np.linspace(0, 10, 100)
plt.plot(x, np.sin(x))
plt.show()

スタイルシートの活用

独自のスタイルシートを作成することで、一貫した見た目のグラフを簡単に作成できます。
rcParamsを使用することで、デフォルトの設定を変更できるのです。
以下のコードで、スタイルシートの活用方法を確認できます。

import matplotlib.pyplot as plt
import numpy as np

plt.rcParams['axes.facecolor'] = '#f0f0f0'
plt.rcParams['axes.edgecolor'] = '#333333'
plt.rcParams['grid.color'] = 'white'
plt.rcParams['grid.linestyle'] = '--'

x = np.linspace(0, 10, 100)
plt.plot(x, np.sin(x))
plt.grid(True)
plt.show()

まとめ

当記事では、Matplotlibでの色の使い方について学習してきました。

  • 基本的な色の指定方法から高度なカスタマイズまでマスター
  • グラフの要素ごとの効果的な色設定テクニック
  • 透明度や配色を活用した魅力的なグラフの作成方法

これらの知識を活用することで、より効果的なデータの可視化が可能になります。

まずは基本的な色の設定から始めて、徐々に高度なテクニックを試してみてください。

実際のデータで様々な設定を試しながら、自分なりの表現方法を見つけていくことをおすすめします。

タイトルとURLをコピーしました