[seaborn] 1. relplotで散布図を表示する

python

はじめに

seabornは簡単かつ簡潔にデータを可視化できるライブラリである。ここではseabornにより散布図を表示する方法について説明する。

コード

コードをダウンロード(.pyファイル)コードをダウンロード(.ipynbファイル)

解説

モジュールのインポートなど

seabornはsnsとしてインポートするのが一般的となっている。
sns.set(style=”darkgrid”)で見た目の設定を変えて、sns.set_context(‘talk’)で文字サイズなどを変えている。

データの読み込み

データは下記サイトから2019シーズンのJ1の結果を取得した。

リーグサマリー:2019 J1 順位表 | データによってサッカーはもっと輝く | Football LAB
フットボールラボ(Football LAB)はサッカーをデータで分析し、新しいサッカーの観戦方法を伝えるサッカー情報サイトです。選手のプレーを評価するチャンスビルディングポイントやプレースタイル指標、チームの戦術を評価するチームスタイル指標といった独自のデータを開発しています。データを活用してサッカーに新しい視点を提供...
順位Unnamed: 1Unnamed: 2勝点試合数得点失点得失平均得点平均失点
01NaN横浜F・マリノス横浜FM703422486838302.01.1
12NaNFC東京FC東京643419784629171.40.9
23NaN鹿島アントラーズ鹿島633418975430241.60.9
34NaN川崎フロンターレ川崎F6034161265734231.71.0
45NaNセレッソ大阪C大阪5934185113925141.10.7
56NaNサンフレッチェ広島広島5534151094529161.30.9
67NaNガンバ大阪G大阪4734121111544861.61.4
78NaNヴィッセル神戸神戸473414515615921.81.7
89NaN大分トリニータ大分4734121111353501.01.0
910NaN北海道コンサドーレ札幌札幌463413714544951.61.4
1011NaNベガルタ仙台仙台4134125173845-71.11.3
1112NaN清水エスパルス清水3934116174569-241.32.0
1213NaN名古屋グランパス名古屋3734910154550-51.31.5
1314NaN浦和レッズ浦和3734910153450-161.01.5
1415NaNサガン鳥栖鳥栖3634106183253-210.91.6
1516NaN湘南ベルマーレ湘南3634106184063-231.21.9
1617NaN松本山雅FC松本3134613152140-190.61.2
1718NaNジュビロ磐田磐田313487192951-220.91.5

散布図の表示

sns.relplotでx=”勝”, y=”得点”, data=df_j1とすることで,DataFrame(df_j1)の勝をx軸、得点をy軸とした散布図が得られる。以下のグラフが出力される。
図を保存するには、matplotlibと同様にplt.savefig()をすれば良い。

新たなパラメータを加えて色を変えて表示

hue=”敗”とすることで各点の負けた回数を色を変えて示すことができる。凡例が右に表示される。

新たなパラメータを加えて点の大きさを変えて表示

size=”敗”とすることで各点の負けた回数を色ではなく、点の大きさで違いを示すことができる。

点の大きさを変化させたい場合

size=”敗”でsizes=(50, 500)とすることで、点の面積の最小値と最大値を設定することができる。

凡例をすべて表示

legend=”full”で凡例をすべて表示することができる。

アスペクト比を変えて表示

aspect=2とすることで縦横比が2となる。

図の大きさを変えて表示

heightを設定することで図の大きさが変えられる。インチ単位となっている。

参考

Visualizing statistical relationships — seaborn 0.10.1 documentation

コメント