一部のデータから計算され、matplotlib で描画されたグラフがあります。このグラフのグローバル最大値の周りに長方形の領域を描画したいと思います。試しplt.axhspan,
ましたが、呼び出したときに長方形が表示されないようですplt.show()
では、長方形の領域を matplotlib グラフに描画するにはどうすればよいでしょうか? ありがとう!
一部のデータから計算され、matplotlib で描画されたグラフがあります。このグラフのグローバル最大値の周りに長方形の領域を描画したいと思います。試しplt.axhspan,
ましたが、呼び出したときに長方形が表示されないようですplt.show()
では、長方形の領域を matplotlib グラフに描画するにはどうすればよいでしょうか? ありがとう!
最も可能性の高い理由は、axhspan を呼び出すときに x 引数にデータ単位を使用したことです。関数のドキュメントから(私の強調):
y 座標はデータ単位で、x 座標は軸 (相対 0-1) 単位です。
したがって、0 の左または 1 の右に伸びる四角形は、単にプロット外に描画されます。
簡単な代替手段はRectangle
、軸に a を追加することです (たとえば、 および を介しplt.gca
て add_patch
)。Rectangle
両方の次元にデータ単位を使用します。以下は、(2,3) を中心とした幅と高さが 1 の灰色の長方形を追加します。
from matplotlib.patches import Rectangle
import matplotlib.pyplot as plt
fig = plt.figure()
plt.xlim(0, 10)
plt.ylim(0, 12)
someX, someY = 2, 5
currentAxis = plt.gca()
currentAxis.add_patch(Rectangle((someX - .5, someY - .5), 4, 6, facecolor="grey"))
facecolor
currentAxis.add_patch(Rectangle((someX - .5, someY - .5), 4, 6, facecolor="none", ec='k', lw=2))