web-dev-qa-db-ja.com

Pyplotを使用してステップ曲線の下の領域を塗りつぶす方法は?

pyplot.step()を使用して2つのステップ曲線をプロットしました。これらの曲線の下の領域をシェーディングしたいと思います(透明なシェーディングが理想的です)。 pyplot.fill_between()は線形補間を想定していますが、以下に示すように、ステップ補間を確認したいと思います。 step curves without shading

これらのカーブの下の領域をどのようにシェーディングできますか?これらの曲線が重なっている場所が明確になるため、透明なカラーリングは素晴らしいでしょう。

8
Battery_Al

Fill_betweenのアルファ値を使用して、半透明にすることができます。

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0,50,35)
y = np.random.exponential(1, len(x))
y2 = np.random.exponential(1, len(x))

plt.fill_between(x,y, step="pre", alpha=0.4)
plt.fill_between(x,y2, step="pre", alpha=0.4)

plt.plot(x,y, drawstyle="steps")
plt.plot(x,y2, drawstyle="steps")

plt.show()

enter image description here