[解決済み] matplotlibのオブジェクト指向インターフェイスを使ってseabornでプロットする
質問
私は
matplotlib
を使うことを強く希望します。
f, axarr = plt.subplots(2, sharex=True)
axarr[0].plot(...)
axarr[1].plot(...)
これにより、複数の人物やサブプロットを把握しやすくなります。
質問です。seabornをこのように使うにはどうしたらよいのでしょうか?あるいは、どのように
この例
をOOPスタイルに変更するには?どのように
seaborn
のようなプロット関数を
lmplot
どの
Figure
または
Axes
にプロットするのでしょうか?
どのように解決するのですか?
どのseaborn関数を使用しているかによります。
seabornのプロット関数は大きく2つのクラスに分けられます。
-
以下のような軸レベルの関数です。
regplot
,boxplot
,kdeplot
などなど -
以下のような "図形レベル" 機能があります。
relplot
,catplot
,displot
,pairplot
,jointplot
と1つまたは2つの他の
最初のグループは、明示的に
ax
引数を取り
Axes
オブジェクトを返します。このことからわかるように、これらのオブジェクトをオブジェクト指向のスタイルで使うには
Axes
を渡すことで、オブジェクト指向のスタイルで使用することができます。
f, (ax1, ax2) = plt.subplots(2)
sns.regplot(x, y, ax=ax1)
sns.kdeplot(x, ax=ax2)
軸レベルの関数が描画するのは
Axes
にのみ描画し、それ以外には図形をいじらないので、オブジェクト指向の matplotlib スクリプトの中で完全に幸せに共存することができます。
関数の2番目のグループ (図レベル) は、結果のプロットが、常に意味のある方法で整理されるいくつかの軸を潜在的に含むことができるという事実によって区別されます。これは、関数が図を完全に制御する必要があることを意味します。
lmplot
のように、すでに存在する図形の上に描画することはできません。関数を呼び出すと、常に図形が初期化され、描画する特定のプロットのためにセットアップされます。
しかし、一度
lmplot
を呼び出すと、このオブジェクトは
FacetGrid
. このオブジェクトは、プロットの構造について少し知っている、結果のプロット上で操作するためのいくつかのメソッドを持っています。それはまた、基礎となる図と軸の配列を
FacetGrid.fig
と
FacetGrid.axes
という引数があります。は
jointplot
関数は非常によく似ていますが、この関数では
JointGrid
オブジェクトを使用します。したがって、オブジェクト指向のコンテキストでこれらの関数を使用することはできますが、カスタマイズはすべて関数を呼び出した後に行わなければなりません。
関連
-
[解決済み] オブジェクトの種類を決定しますか?
-
[解決済み] インターフェースと抽象クラスの違いは何ですか?
-
[解決済み] オブジェクト名の前のシングルアンダーコアとダブルアンダーコアの意味は何ですか?
-
[解決済み] Matplotlibでプロットを表示するのではなく、画像ファイルに保存する。
-
[解決済み] matplotlib のプロットで軸のテキストを非表示にする
-
[解決済み] カットオフまたはオーバーラップするラベルでパディングを調整する方法
-
[解決済み] Django 1.7で初期マイグレーションからマイグレートバックする方法は?
-
[解決済み] PyMongoで.sortを使用する
-
[解決済み] djangoのQueryDictをPythonのDictに変更するには?
-
[解決済み] Pythonでリストが空かどうかをチェックする方法は?重複
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Seaborn軸または図レベルプロットの図サイズを変更する方法
-
[解決済み] PythonでのAWS Lambdaのインポートモジュールエラー
-
[解決済み] Django のテストデータベースをメモリ上だけで動作させるには?
-
[解決済み] DataFrameに日付間の日数カラムを追加する pandas
-
[解決済み] Pythonで0xを使わずにhex()を使うには?
-
[解決済み] CSVデータを処理する際、1行目のデータを無視する方法を教えてください。
-
[解決済み] matplotlib でプロットの軸、目盛、ラベルの色を変更する方法
-
[解決済み] Pythonで、ウェブサイトが404か200かを確認するためにurllibをどのように使用しますか?
-
[解決済み] pycharmがタブをスペースに自動変換する
-
[解決済み] virtualenvsはどこに作成するのですか?