ラベル グラフ描画 の投稿を表示しています。 すべての投稿を表示
ラベル グラフ描画 の投稿を表示しています。 すべての投稿を表示

2018/06/30

pythonプログラミング入門(2)グラフでサブプロットを描画


いくつかのグラフを1つにまとめるにはsubplotを使用します。subplotをどのように使用したらいいのか分かりにくかったのでまとめました。

subplotのカッコ内の数字によりグラフのまとめ方が決まります。subplotの後のカッコ内に数字が3つ並びますが、最初が縦のグラフの個数、2番目が横のグラフの個数、最後がどのグラフを指しているかになります。



実際のコード例を示します。 subplotでグラフを指定した後に、データの設定やy軸名などのラベルの指定をします。

subplotのコード例
import matplotlib.pyplot as plt plt.figure(1) plt.subplot(321) plt.plot([1,2,3,4]) plt.ylabel('321') plt.subplot(322) plt.plot([1,2,3,4], [1,4,9,16], 'ro') plt.ylabel('322') plt.subplot(323) plt.plot([1,2,3,4], [1,4,9,16], 'bo') plt.ylabel('323') plt.subplot(324) plt.plot([1,2,3,4], [1,4,9,16], 'yo') plt.ylabel('324') plt.subplot(325) plt.plot([1,2,3,4], [1,4,9,16], 'go') plt.ylabel('325') plt.subplot(326) plt.plot([1,2,3,4], [1,4,9,16], 'rx') plt.ylabel('326') #Matplotlib v1.1 introduces a newcommand tight_layout() that does this automatically for you. #グラフが重なった時にレイアウトを自動的に調整してくれる。(後述) plt.tight_layout() plt.show()

subplotを使用した表示例



グラフの自動レイアウトについて(tight_layout())

plt.tight_layout()はグラフのレイアウトを自動で調整するコマンドです。 コマンドを指定しないとy軸名がグラフと重なってしまいます。

plt.tight_layout()がない場合

(関連コンテンツ)

2018/06/27

pythonプログラミング入門(1)グラフ描画の初手



エクセルではシートから作図が 画面を選択することでできますが、pythonで同様のことをするにはプログラムで作成 します。pythonではエクセルよりも大きなデータや複雑なデータを扱うことが あるためです。

 pythonで見栄えの良いグラフを上手く 作成するには、配列とグラフの関係を把握することが近道です。

その他にも軸名やプロットのマーカー種類、色の操作、矢印による図内のコメントの作成方法も解説します。


matplotlibで最も簡単なグラフの作成(y値のみ指定)


matplotlibを用いた最も簡単なグラフで直線を作成します。
plotに配列で数値を入れます。xは値の指定がない場合、[0,1,2,3]となり、y軸は[1,2,3,4]となります。plt.show()で設定したグラフが表示されます。縦軸、横軸の名称を「y numbers」、「x numbers」と表示しています。


  • 直線のグラフ( コード例)
import matplotlib.pyplot as plt plt.plot([1,2,3,4]) #ラベルの表示 plt.ylabel('y numbers') plt.xlabel('x numbers') plt.show()

最も簡単なグラフの作成2(xとy値をそれぞれ指定)


散布図の作成です。
xとyの値を指定します。エクセルではxとyの組み合わせで点を表しますが、pythonの場合は、x、yとそれぞれに配列を入れることで指定します。(x,y)とならないことでプロットの座標が例では分かりにくくなります。

マーカーの形や色を指定することもできます。 例ではマーカーを'ro'としてred赤で「●」bで青の意味となっています。

plt.plot([1,2,3,4], [1,4,9,16], 'bo')

グラフの描画の範囲を指定することもできます。 下記のようにxの最大、最小、yの最大、最小の順で指定します。

plt.axis([xの最小値, xの最大値, yの最小値, yの最大値])

  • 散布図のグラフ(コード例)
import matplotlib.pyplot as plt #データの設定 plt.plot([1,2,3,4], [1,4,9,16], 'bo') #グラフ範囲の指定 plt.axis([0, 6, 0, 20]) #ラベルの書き方 plt.ylabel('y numbers') plt.xlabel('x numbers') plt.show()


マーカーの指定方法

マーカー種類の指定

マーカー'ro'は色(r:red)と種類('o':●)を表していました。色と種類をそれぞれ指定することができます。下記の書式はどちらでも同じ結果になります。

plt.plot([1,2,3,4], [1,4,9,16], color='blue', marker='o')
plt.plot([1,2,3,4], [1,4,9,16], 'bo')

matplotlibで使用できるマーカの種類一覧は、下記の表になります。
  • matplotlibで使用できるマーカの種類一覧
マーカー表示例マーカー表示例
’o’
'X'
'+'
'P'
'x'
'd'
'|'
'D'
's'
'H'
'<'
'*'
'>'
'p'
'v'

マーカー色の指定

マーカーに色を指定するにはmatplotlibで使用できる色の一覧を参照してください。


マーカーサイズの指定

マーカーのサイズを変更には、下記のようにmarkersizeで指定することができます。

plt.plot([1,2,3,4], [1,4,9,16], color='blue', marker='o' ,markersize=12


矢印で引き出し、コメントを追加したい場合


グラフの解説をするためのコメントを引出し線(矢印)で入れることもできます。

plt.annotate('text', xy=(1.25, 1), xytext=(1.5, 1.25),arrowprops=dict(arrowstyle="->"))

コメントの内容と矢印の起点、テキストの位置の座標を入れます。 arrowstyleでスタイルを変更すると矢印の種類を選択できます。

matplotlib.pyplot.annotateを参照ください。

import matplotlib.pyplot as plt plt.plot([1], [1], 'bo',markersize=12) #矢印付きのコメントを記載する #xy:矢じりの先頭 xytext:テキストの先頭 以降、矢印の形と色(角度や曲がり方も調整できる) plt.annotate('text', xy=(1.25, 1), xytext=(1.5, 1.25),arrowprops=dict(arrowstyle="->")) #描画の範囲を指定 x_mini x_max y_mini y_max plt.axis([0, 2, 0, 2]) #軸を非表示 #plt.axis("off") plt.show()



軸をoffにすることで図のように扱えます。
plt.axis("off")