seaborn.objects.Plot#

class seaborn.objects.Plot(*args, data=None, x=None, y=None, color=None, alpha=None, fill=None, marker=None, pointsize=None, stroke=None, linewidth=None, linestyle=None, fillcolor=None, fillalpha=None, edgewidth=None, edgestyle=None, edgecolor=None, edgealpha=None, text=None, halign=None, valign=None, offset=None, fontsize=None, xmin=None, xmax=None, ymin=None, ymax=None, group=None)#

統計グラフを宣言的に指定するためのインターフェースです。

プロットは、このクラスを初期化し、MarkとオプションのStatまたはMoveを含む1つ以上のレイヤーを追加することで構築されます。さらに、ファセット変数または変数のペアを定義して、空間を複数のサブプロットに分割することができます。データ値から視覚的プロパティへのマッピングはスケールを使用してパラメーター化できますが、スケールが明示的に定義されていない場合、プロットは適切なデフォルト値を推測しようとします。

コンストラクタは、データソース(pandas.DataFrameまたは列状の値を持つ辞書)と変数割り当てを受け入れます。変数は、データソースのキーとして、またはデータベクトルとして直接渡すことができます。複数のデータを含むオブジェクトが提供された場合、それらはインデックスが揃えられます。

コンストラクタで定義されたデータソースと変数は、レイヤーの追加時に上書きまたは無効にされない限り、プロット内のすべてのレイヤーで使用されます。

コンストラクタでは、次の変数を定義できます。

xycoloralphafillmarkerpointsizestrokelinewidthlinestylefillcolorfillalphaedgewidthedgestyleedgecoloredgealphatexthalignvalignoffsetfontsizexminxmaxyminymaxgroup

dataxy変数は、位置引数またはキーワード引数として渡すことができます。最初の位置引数がデータソースとして解釈されるかx変数として解釈されるかは、その型によって異なります。

このクラスのメソッドはインスタンスのコピーを返します。複数回呼び出してプロットを構築するには、チェーニングを使用します。メソッドは任意の順序で呼び出すことができます。

ほとんどのメソッドはプロット仕様に情報を追加するだけであり、プロットが表示または保存されるまで実際の処理は行われません。低レベル表現にアクセスするために、レンダリングせずにプロットをコンパイルすることも可能です。

メソッド#

仕様メソッド

add

マークとデータ変換の観点から可視化のレイヤーを指定します。

scale

データ単位から視覚的プロパティへのマッピングを指定します。

サブプロットメソッド

facet

データの条件付きサブセットを使用してサブプロットを作成します。

pair

複数のxおよび/またはy変数をペアリングすることでサブプロットを作成します。

カスタマイズメソッド

layout

図のサイズとレイアウトを制御します。

label

軸、凡例、サブプロットのラベルとタイトルを制御します。

limit

表示されるデータの範囲を制御します。

share

サブプロット間での軸の制限と目盛りの共有を制御します。

theme

プロット内の要素の外観を制御します。

統合メソッド

on

プロットを描画するための既存のMatplotlib図または軸を提供します。

出力メソッド

plot

プロット仕様をコンパイルして、Plotterオブジェクトを返します。

save

プロットをコンパイルして、バッファまたはディスク上のファイルに書き込みます。

show

プロットをコンパイルし、pyplotにフックすることで表示します。

設定#

Plotオブジェクトのデフォルトの動作は、そのPlot.config属性を通じて設定できます。これはインスタンスのメソッドではなく、クラスのプロパティであることに注意してください。

テーマの設定#

Plot.configインターフェースを介して行われたテーマの変更は、後続のすべてのPlotインスタンスに適用されます。プロットごとにテーマを変更するには、Plot.theme()メソッドを使用します。

テーマは、matplotlibのrcパラメータの辞書です。個々のパラメータを直接設定できます。

so.Plot.config.theme["axes.facecolor"] = "white"

プロット全体のスタイルを変更するには、seabornのテーマ関数から取得したパラメータの辞書を使用してテーマを更新します。

from seaborn import axes_style
so.Plot.config.theme.update(axes_style("whitegrid"))

matplotlibのグローバル状態とPlotを同期するには、rcParams辞書を渡します。

import matplotlib as mpl
so.Plot.config.theme.update(mpl.rcParams)

テーマをseabornのデフォルトにリセットすることもできます。

so.Plot.config.theme.reset()

表示設定#

ノートブックセルの最後のステートメントから返された場合、Plotはコンパイルされ、ノートブックに画像として埋め込まれます。デフォルトでは、画像はHiDPI PNGとしてレンダリングされます。あるいは、SVG形式でプロットを表示することもできます。

so.Plot.config.display["format"] = "svg"

SVG画像は「無限」の解像度を持つベクターグラフィックスを使用するため、ズームレベルに関係なく鮮明に表示されます。欠点は、各プロット要素が個別に描画されるため、特定の種類のプロット(例:密集した散布図)では画像データが非常に大きくなる可能性があることです。

デフォルトのPNG画像のHiDPIスケーリングは、保存されているノートブックのサイズも増加させます。(SVGとは異なり、PNGのサイズはプロットの寸法に応じてスケールされますが、複雑さによってはスケールされません)。役に立たない場合は、無効にできます。

so.Plot.config.display["hidpi"] = False

埋め込まれた画像は、図のサイズやDPIとは無関係にわずかに縮小されるため、画面上に多くの情報を表示できます。正確なスケーリング係数も設定可能です。

so.Plot.config.display["scaling"] = 0.7