Python 3 エンジニア認定データ分析試験 まとめノート 〜Matplotlib編〜

python_dataanalysis データサイエンス

Matplotlib

Pythonで主に2次元のグラフを描写するためのライブラリ。軸ラベルの文字列を回転することができる。日本語デフォルト対応。

MATLABスタイル

数値解析ソフトウェアであるMATLABに似せた形式でグラフ描写

オブジェクト指向スタイル

描写オブジェクトに対してサブプロットを追加して、サブプロットに対して描写。1つのfigureオブジェクトに対して複数のグラフをまとめて表示できる。
→fig,axes=plt.subplots(2):2つのサブプロットを配置
 fig,axes=plt.subplots(2,2):2行2列のサブプロットを配置
 fig,axes=plt.subplots(ncols=2):1行2列のサブプロットを配置

subtitle():描写オブジェクトのタイトル付け

set_title():サブプロットのタイトル付け

matplotlib.style.available:スタイルの一覧を取得

matplotlib.style.use():スタイルを適用

legend():凡例を表示 ※(loc=’best’)でデータの重なりが最小に位置に。デフォルトは左上。
            外側に表示する場合はbbox_to_abchor引数で座標を指定

savefig():png、pdf、ps、eps、svgで保存可能

グラフの種類

plot:折れ線グラフ

値の間隔を小さくすることで曲線も作れる

bar:棒グラフ ↔barh:横向き棒グラフ

対象.演算(value_counts()等).plot.bar()

積み上げグラフの作成方法

y_total=[num1+num2 for num1,num2 in zip(y1,y2)]
ax.bar(x,y_total,tick_labels=labels,label=’y1′)=y_totalのグラフをy1というラベルで表示
ax.bar(x,y2,label=’y2′)=y2のグラフをy_totalの上から重ねてy2というラベルで表示=積み上げ表示

scatter:散布図

マーカー:デフォルトは丸。label=’○’で指定
      triangle up:上向き三角
      square:正方形
      star:星型
      x:✕

hist:ヒストグラム

・最適なビンの数を決める手法を指定することはできない
・ビンの数を変更することができる
・積み上げヒストグラムを表示することができる
・相対度数分布を表示することができる
→(各ビンの度数、各ビンの範囲、パッチオブジェクトが格納されている配列)の3つの返り値を持つ
 引数n:各ビンの度数、bins:ビンの境界の値(デフォルトは10)、patches:ビンを描写するための情報
 複数の値を指定すると自動で横に並ぶ※棒グラフは手動で幅分ずらして描写
 引数(orientation=’horizontal’)で横向き
 引数にstacked=Trueを指定すると積み上げヒストグラムが描写される

度数分布表の表示

for i ,num in enumerate(n):
 print(‘{;.2f}-{;.2f}:{}’.format(bins[i]),bins[i+1],num))

boxplot:箱ひげ図

引数vert=False:横向きの箱ひげ図

pie:円グラフ

ax.axis(‘equal’):アスペクト比の保持
引数startangle=90:上から(時計の12時)配置 ※デフォルトは右(時計の3時)
  counterclock=False:時計回りに配置
  shadow=True:影をつける
  autopct=’%1.2%%’:値の%表記が追加。数字は桁数
  explode:要素を切り出す
  pctdistance:上記のパーセンテージを出力する位置。円周を1.0とする※デフォルトは0.6

スタイル

色の設定

color引数:線の色を指定。色名、RGB、RGBAで指定できる。タプル内の数値が3つの場合はRGBとなる。
edgecolor引数:線の枠線の色を指定。

線のスタイル

linewidth引数:様々な先の太さを変更。単位はポイント。
linestyle引数:線の種類を指定できる。’–‘や’-.’、’:’等

テキスト描写

text():第1、第2引数に左下からX,Y座標で指定

※同じフォントを様々な箇所で行う場合は「辞書データ」で作成し、fontdict引数で一度に指定できる※pandasのDataframeやSeriesからグラフを描写できる

コメント

タイトルとURLをコピーしました