前回の記事は、任意の関数を中心とした乱数の発生方法を勉強して、フィッティングの真似事(逆フィッティング)をプロットしてみました。 今回は、関数と関数に挟まれた領域に色をつける方法を勉強します。

fill_between機能を使えば、数式を入力するだけで、指定の色で塗り潰してくれる

それでは早速ソースコードです。1行1行解説を加えています。説明を省けば、10行以内に収まるくらい簡単ですよ:)
import numpy as np import matplotlib.pyplot as plt x = np.arange(-2.0, 2.5, 0.01) #xを作成 y1 = x**3-x**2-3*x #3次関数を作成 y2=5*np.cos(4*x) #cos関数を作成 fig, ax = plt.subplots() ax.plot(x, y1, color='black') #3次関数は黒色で曲線を描写 ax.plot(x, y2, color='blue') #cos関数は青色で曲線を描写 #fill_betweenで関数と、cos関数が大きい時黄色、3次関数が大きい時赤色で塗り潰す ax.fill_between(x, y1, y2, where=y2 >y1, facecolor='yellow', alpha=0.5) ax.fill_between(x, y1, y2, where=y2 <=y1, facecolor='red', alpha=0.5) plt.savefig("logo15.png") plt.show()
これを出力すると、以下の図になります。
logo15
綺麗な図が描けました:D

 何も難しい設定は要らず、ただfill_between機能を使うだけ

知っていれば、簡単ですね。覚えておくと、何かと便利かもしれません◎


綺麗にできたので、この図もInstagramに投稿しようと思います:)