Python
 Computer >> コンピューター >  >> プログラミング >> Python

PythonのMatplotlibで曲線とX軸の間の領域を塗りつぶす方法

PythonのMatplotlibを使って、曲線とX軸の間の領域を塗りつぶす方法を解説します。データの可視化において、曲線の下側の領域を色で強調することは、グラフの視認性を高めるために非常に有効です。

手順

  • 図のサイズを設定し、サブプロット間および周囲の余白(パディング)を調整します。

  • NumPyを使用して x および y のデータポイントを作成します。

  • plot() メソッドを使って、x と y のデータポイントをプロットします。

  • fill_between() メソッドを使用して、曲線とX軸の間の領域を塗りつぶします。

  • show() メソッドを呼び出して、図を表示します。

コード例

import matplotlib.pyplot as plt
import numpy as np

# 図のサイズを設定
plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True

# x と y のデータポイントを作成
x = np.linspace(-5, 5, 100)
y = np.sin(x)

# x と y のデータポイントをプロット
plt.plot(x, y)

# 領域に色を付けて塗りつぶす
plt.fill_between(x, 0, y, color='orange')

# グラフを表示
plt.show()

実行結果

上記のコードを実行すると、次のような出力が得られます。

PythonのMatplotlibで曲線とX軸の間の領域を塗りつぶす方法

解説

この例では、np.linspace(-5, 5, 100) によって -5 から 5 までの範囲に 100 個の等間隔のデータポイントを生成し、その正弦波(sin関数)をプロットしています。

ポイントとなるのは plt.fill_between(x, 0, y, color='orange') の部分です。第1引数にx座標、第2引数に塗りつぶしの下限値(ここでは0=X軸)、第3引数に上限値(y の値)を指定することで、曲線とX軸の間の領域がオレンジ色で塗りつぶされます。なお、y の値が負になる区間では、自動的にX軸より下側の領域が塗りつぶされます。

また、color 引数を変更すれば任意の色を指定でき、alpha 引数を追加すれば塗りつぶしの透明度も調整可能です。

  1. PythonとMatplotlibで3D散布図のアルファ値(透明度)を制御する方法

    PythonとMatplotlibを使って3D散布図のアルファ値(透明度)を制御するには、facecolorsとedgecolorsの値を適切に設定します。これにより、プロットした点の塗りつぶし色や縁取り色の透明度を細かく調整できます。実装手順図のサイズを設定し、サブプロット間および周囲の余白(パディング)を調整します。figure()メソッドを使って新しい図を作成するか、既存の図をアクティブにします。サブプロット構成の一部として、図に~.axes.Axesを追加します。NumPyを使ってx、y、zのデータポイントを生成します。scatter()メソッドでx、y、zの点を3D空間にプロットしま

  2. PythonのMatplotlibでX軸に日付をプロットする方法

    Pythonで時系列データを可視化する際、X軸に日付を表示したいケースはよくあります。PandasとMatplotlibを組み合わせれば、日付をインデックスとしたデータフレームを作成し、gcf().autofmt_xdate()を使うことでX軸の日付表示を自動的に整形できます。実装の手順日付文字列のリストを作成し、pd.to_datetime()を使ってdatetime型に変換します。プロットするデータとして data = [1, 2, 3] を用意します。DataFrame() オブジェクト(ここではDF)を生成します。DFの value 列に手順2のデータを設定します。手順1で作成したda