次に、曲線を描いてみます。曲線を描くには点の刻みを細かくして折れ線を描きます。「np.linspace」を使うと、指定した区間を等分した点を指定した数だけ得られるので、これを使います。ここでは「sin」「cos」のグラフを描いてみます。
ここでは1つのパネルの上に2つのグラフを描きました。このようにplt.plotを二度呼ぶと自動的に色を分けて描画してくれます。ここで「np.linspace(-5,5,300)」は、下記の範囲を等分して300個の点を取得するという意味です。
次に、この曲線と曲線の間を塗りつぶしてみます。2つのグラフの間を塗りつぶすには「plt.fill_between」を使います。
plt.fill_betweenの名前付き引数whereは塗りつぶすための条件を表しています。y1とy2は両方とも一次元配列が入っているので、「y1>=y2」はブロードキャストされます。つまり各点でy1とy2のどちらが大きいかによってTrue/Falseの配列になります。
次の名前付き引数「color」は塗りつぶす色を表します。色の指定で「r」は赤(red)を、「b」は青(blue)を意味します。このようによく使われる色は一文字で指定できます。一文字で指定できる色には次のようなものがあります。
また、これらの他にも「#808080」のようなRGB文字列も指定でき、上記一文字指定以外にも例えば「darkgreen」「skyblue」などの名称による指定もできます。色の指定で使える文字列は、Matplotlibのページを参照してください。
次に、グラフの装飾を変えてみます。
まずはplt.plotに「label」という引数が増えています。このlabelで指定した文字列が右上の凡例として表示され、それぞれのグラフが何を示すかを明示できます。plt.plotの引数にlabelを指定したときは、これとセットで後にplt.legend()を呼び出さないと右上に凡例が表示されません。plt.legend()は「凡例を表示せよ」という意味です。
plt.titleではタイトルを設定します。タイトルはグラフの上に表示されます。タイトルに日本語を入れることもできるのですが、その場合はフォントファイルの指定が必要になりOSに依存するので、ここでは省略します。
次に、「plt.ylim」でyの範囲を指定します。ここでは下記のように設定しています。
ylimと同様にxの範囲をxlimで設定できますが、設定しないとデータに合わせて自動的に設定されます。x軸に付ける目盛りとy軸に付ける目盛りを、それぞれ「plt.xticks」「plt.yticks」で指定しています。
「plt.annotate」ではテキストによるアノテーションを指定します。最初の文字列の「peek of sin」は表示される文字列です。名前付き引数xyは矢印の指す先を、「xytext」はテキストの表示位置を示します。「arrowpros」は矢印の特徴を辞書型で指定します。
ここでは「{"arrowstyle":"->"}」により矢印の形を示しています。
Copyright © ITmedia, Inc. All Rights Reserved.