Pythonを使ったグラフの塗りつぶし方法を徹底解説!

Pythonとmatplotlibの基本的な概要

Pythonは、オープンソースのプログラミング言語であり、データ解析や科学技術計算に広く使われています。matplotlibは、Pythonのグラフ描画ライブラリの一つであり、グラフを描画するために必要な機能を提供しています。

グラフの塗りつぶしとは

グラフの塗りつぶしとは、グラフの特定の領域を色で塗りつぶすことです。塗りつぶすことで、特定の領域がどのような値を持っているかを視覚的に表現することができます。

matplotlibを用いたグラフの描画方法

matplotlibを用いたグラフの描画方法について簡単に紹介します。

import matplotlib.pyplot as plt
# グラフの描画
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]
plt.plot(x, y)
# グラフの表示
plt.show()

上記のコードでは、x軸に1から5の値、y軸に2から10の値を持つ折れ線グラフを描画しています。

matplotlibを用いたグラフの塗りつぶし方法

matplotlibを用いたグラフの塗りつぶし方法について説明します。

まずは、単純な例として、x軸が1から5の範囲で、y軸が2から10の範囲を持つグラフにおいて、y軸が5を超える領域を赤で塗りつぶす例を示します。

import matplotlib.pyplot as plt
# グラフの描画
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]
plt.plot(x, y)
# 塗りつぶし
plt.fill_between(x, y, 5, where=[i > 5 for i in y], color='r', alpha=0.5)
# グラフの表示
plt.show()

上記のコードでは、fill_between関数を用いて、y軸が5を超える部分を赤色で塗りつぶしています。

次に、x軸が-5から5の範囲で、y軸が-5から5の範囲を持つグラフにおいて、原点を中心に円形の領域を青で塗りつぶす例を示します。

import numpy as np
import matplotlib.pyplot as plt
# グラフの描画
x = np.linspace(-5, 5, 100)
y = np.linspace(-5, 5, 100)
X, Y = np.meshgrid(x, y)
Z = X**2 + Y**2
plt.contourf(X, Y, Z, levels=[0, 5], colors=['b'])
# グラフの表示
plt.show()

上記のコードでは、contourf関数を用いて、原点を中心に半径5の円形の領域を青色で塗りつぶしています。

matplotlibでの塗りつぶしパターンの種類とその適用例

matplotlibでは、fill_between関数やcontourf関数によって、塗りつぶしパターンを指定することができます。以下に、matplotlibでサポートされている主な塗りつぶしパターンを紹介します。

  • solid(塗りつぶし)
  • hatch(斜線)
  • crosshatch(十字斜線)
  • vertical(垂直線)
  • horizontal(水平線)
  • diagonal(対角線)
  • backslash(円形)

以下に、それぞれの塗りつぶしパターンの適用例を示します。

import matplotlib.pyplot as plt
# 塗りつぶし
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]
plt.fill_between(x, y, 5, where=[i > 5 for i in y], color='r', alpha=0.5, hatch='o')
# グラフの表示
plt.show()

上記のコードでは、fill_between関数にhatch='o'を指定して、赤色の領域を斜線で塗りつぶしています。

import numpy as np
import matplotlib.pyplot as plt
# 塗りつぶし
x = np.linspace(-5, 5, 100)
y = np.linspace(-5, 5, 100)
X, Y = np.meshgrid(x, y)
Z = X**2 + Y**2
plt.contourf(X, Y, Z, levels=[0, 5], colors=['b'], hatch='x')
# グラフの表示
plt.show()

上記のコードでは、contourf関数にhatch='x'を指定して、青色の領域を十字斜線で塗りつぶしています。

塗りつぶしを用いたデータの視覚化と解釈

塗りつぶしを用いることで、データの視覚化と解釈が容易になります。以下に、塗りつぶしを用いたデータの視覚化と解釈の例を示します。

例えば、以下のようなデータがあったとします。

x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]

このデータを、fill_between関数を用いて、y軸が5を超える部分を赤色で塗りつぶすと、以下のようなグラフが得られます。

import matplotlib.pyplot as plt
# グラフの描画
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]
plt.plot(x, y)
# 塗りつぶし
plt.fill_between(x, y, 5, where=[i > 5 for i in y], color='r', alpha=0.5)
# グラフの表示
plt.show()

このグラフからは、y軸が5を超えるデータがあることが視覚的に確認できます。

まとめ

本記事では、Pythonとmatplotlibを用いたグラフの塗りつぶし方法について解説しました。matplotlibを用いることで、様々な塗りつぶしパターンを指定することができ、データの視覚化と解釈が容易になります。