libro
www.tuyano.com
初心者のためのJupyter入門

matplotlibでグラフ化する (6/6)

作成:2018-02-10 11:05
更新:2018-02-10 11:05

■直線と塗りつぶし

続いて、直線を引いたり、グラフの一定範囲を塗りつぶしたりするメソッドについてです。


・直線を引く
《matplotlib》.axhline( y= Y値 , xmin= X最小値 , xmax=X最大値 )
《matplotlib》.axvline( x= X値 , ymin= Y最小値 , ymax=Y最大値 )
直線を引きます。axhlineは横線を、axvlineは縦線を引きます。いずれも、yまたはxを指定すると、その位置に直線を引きます。線を端から端まででなく、グラフの一部分だけ引きたい場合は、xmin, xmaxあるいはymin, ymaxを使って線の両端の位置を0.0~1.0の範囲で指定します。

・一定幅を塗りつぶす
《matplotlib》.axhspan( 最小値 , 最大値 )
《matplotlib》.axvspan( 最小値 , 最大値 )
グラフの一定のエリアを塗りつぶします。axhspanは横方向に最小値と最大値を指定し、その範囲内を塗りつぶします。axvspanは、縦方向に最小値と最大値を指定して塗りつぶします。

・指定のエリア内を塗りつぶす
《matplotlib》.fill( X1座標 , Y1座標 , X2座標 , Y2座標 )
指定のエリア内を塗りつぶします。これは、2つの線分の間の領域を塗りつぶすと考えると良いでしょう。最初の2つの引数で描かれる線分と、その後の2つの引数で描かれる線分の間のエリアを塗りつぶします。


これらのメソッドでも、先程と同様に色や線分の太さに関する名前付き引数を使うことができます。では、下に利用例を挙げておきましょう。

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

●プログラム・リスト●

import numpy as np
import matplotlib.pyplot as plt

m = np.array(range(-100,100))
n = m**2

plt.plot(m, n, label='y=x**2')

plt.title("Sample Graph")
plt.xlabel("x")
plt.ylabel("y")
plt.grid(True)
plt.legend()

plt.axhspan(5500, 7500,  facecolor='blue', alpha=0.1)
plt.axvspan(65, 95, facecolor='blue', alpha=0.1)
plt.axhline(y=7000, linewidth=5, color='blue')
plt.axvline(x=80, ymin=0.5, ymax=1, linewidth=5, color='red')
plt.fill_between(range(-100, 100), n, 5000, range(-100, 100), color='yellow')

plt.show()

※関連コンテンツ

「初心者のためのJupyter入門」に戻る