pythonってすごいね

RNAseqを用いた遺伝子発現量解析、機械学習を用いた回帰、分類などの解析を中心に記事を書いていきたいです!

pythonで描く折れ線グラフ

pythonで折れ線グラフを描く場合、matplotlibもしくは、seabornのどちらかで描くことが多いと思います。微妙に書き方が違う部分があるのでまとめていこうと思います。

matplotlibで描く折れ線グラフ

パッケージをimport

import numpy as np #使うパッケージをimportする
import matplotlib.pyplot as plt

シンプルなプロット

x = np.array([0,1,2,3,4,5])
y = np.array([0,6,2,2,8,3])

plt.plot(x,y)
plt.show()

細かな設定

x = np.array([0,1,2,3,4,5])
y = np.array([0,6,2,2,8,3])

plt.plot(x,
         y,
         linestyle='solid', #solid’ (実線), ‘dashed’ (破線), ‘dashdot’ (破線&点線), ‘dotted’ (点線) 
         linewidth=5, #線の太さ
         marker="o", #マーカーの種類 
         color="grey", #線の色
         markersize=4, #マーカーの大きさ
         markeredgewidth=2, #マーカーの枠線の太さ
         markeredgecolor="k", #メーカーの枠線の色
         markerfacecolor="r", #マーカーの色
         fillstyle="full") #マーカーの形式 full’ (全体), ‘left’ (左半分), ‘right’ (右半分), ‘bottom’ (下半分), ‘top’ (上半分), ‘none’ (塗りつぶしなし) 
plt.xticks([0,2,4,6])
plt.yticks([0,2,4,6,8,10])
plt.xlim([0,6])
plt.ylim([0,10])
plt.show()

Seabornで描く折れ線グラフ

inputのデータ形式、エラーバーの設定がmatplotlibと異なるので注意

データをロード

import seaborn as sns #使うパッケージをimportする
import matplotlib.pyplot as plt
fmri = sns.load_dataset("fmri")

シンプルなプロット

sns.lineplot(x="timepoint", y="signal", data=fmri)

細かな設定

m=sns.lineplot(x="timepoint", #X軸の値
             y="signal", #Y軸の値
             hue="event", #色を分ける基準を設定
             style="event", #線のスタイルを分ける基準を設定
             err_style="bars", #エラーバーの種類 band or bars
             sizes=2, # サイズ?
             markers=True, #マーカーを出すか出さないか
             ci="sd", #信頼区間の決め方
             legend = True, #レジェンドを出すか出さないか
             err_kws={"capsize":2,"ecolor":"k","elinewidth":2},#エラーバーの細かな設定
             data=fmri) #解析対象とするデータの選択

m.set(xlim=(0,20), #X軸の最小値、最大値を指定
         ylim=(-0.5,0.5), #Y軸の最小値、最大値を指定
         xticks=[0,5,10,15,20], #表示するX軸を指定
         yticks=[-0.5,0,0.5]) #表示するY軸を指定
plt.show()

まとめ

seabornを使う場合、inputデータをあらかじめ加工しておくとやりやすそう!