backend_template#

バックエンド ライター用のテンプレートとして意図された、完全に機能する何もしないバックエンド。バックエンドとして選択できるという点で完全に機能します。

import matplotlib
matplotlib.use("template")

出力は生成されませんが、プログラムはエラーなしで実行されます (はずです!)。これは、バックエンド ライターの出発点となります。draw_path描画メソッド ( 、 など)を選択的に実装draw_imageし、結果を得る前に本格的な実装を行う代わりに、ゆっくりと図が生き生きと見えるようにすることができます。

このファイルを Matplotlib ソース ツリーの外部のディレクトリにコピーします。このディレクトリは、Python がインポートできる場所にあります (ディレクトリを自分のディレクトリに追加するsys.pathか、通常の Python パッケージとしてパッケージ化することにより)。バックエンドがインポート可能な場合は、 次を使用して選択できますimport my.backend

import matplotlib
matplotlib.use("module://my.backend")

バックエンドが図の保存のサポートを実装している (つまり、print_xyz メソッドがある) 場合、特定のファイル タイプのデフォルト ハンドラーとして登録できます。

from matplotlib.backend_bases import register_backend
register_backend('xyz', 'my_backend', 'XYZ File Format')
...
plt.savefig("figure.xyz")
matplotlib.backends.backend_template. FigureCanvas [ソース] #

のエイリアスFigureCanvasTemplate

クラス matplotlib.backends.backend_template. FigureCanvasTemplate (=なし) [ソース] #

拠点:FigureCanvasBase

Figure がレンダリングされるキャンバス。draw メソッドと print fig メソッドの呼び出し、レンダラーの作成などを行います。

注: GUI テンプレートでは、ボタンの押下、マウスの移動、およびキーの押下のイベントを、基本クラス メソッドの button_press_event、button_release_event、motion_notify_event、key_press_event、および key_release_event を呼び出す関数に接続する必要があります。例については、対話型バックエンドの実装を参照してください。

属性:
matplotlib.figure.Figure

高レベルの Figure インスタンス

draw ( ) [ソース] #

レンダラーを使用して図を描画します。

出力が生成されない場合でも、このメソッドがアーティスト ツリーを実際にウォークすることが重要です。これは、ユーザーがディスクに保存する前にアクセスする遅延作業 (制限の自動制限やティック値の計算など) をトリガーするためです。

filetypes = {'eps': 'Encapsulated Postscript', 'foo': 'My magic Foo format', 'jpeg': 'Joint Photographic Experts Group', 'jpg': 'Joint Photographic Experts Group', 'pdf': ' Portable Document Format', 'pgf': ' LaTeX の PGF コード', ' png ' : 'Portable Network Graphics', 'ps': 'Postscript', 'raw': '生のRGBAビットマップ', 'rgba': '生のRGBAビットマップ', 'svg': 'Scalable Vector Graphics', 'svgz': 'Scalable Vector Graphics', 'tif': 'Tagged Image File Format', 'tiff': 'Tagged Image File Format', 'webp': 'WebP Image Format '} #
get_default_filetype ( ) [ソース] #

で指定されたデフォルトの savefig ファイル形式を返します rcParams["savefig.format"](デフォルト: 'png')。

返された文字列にはピリオドが含まれていません。このメソッドは、単一のファイル タイプのみをサポートするバックエンドでオーバーライドされます。

manager_class [ソース] #

のエイリアスFigureManagerTemplate

print_foo (ファイル名, *引数, ** kwargs ) [ソース] #

フォーマット foo を書き出します。

通常、このメソッドはFigure.savefigおよび を介して呼び出されFigureCanvasBase.print_figure、図の facecolor、edgecolor、および dpi を目的の出力値に設定し、それらを元の値に戻します。したがって、print_fooこれらの設定を処理する必要はありません。

matplotlib.backends.backend_template. FigureManager [ソース] #

のエイリアスFigureManagerTemplate

クラス matplotlib.backends.backend_template. FigureManagerTemplate (キャンバス数値) [ソース] #

拠点:FigureManagerBase

pyplot モードのヘルパー クラスは、すべてを適切なバンドルにまとめます。

非インタラクティブなバックエンドの場合、基本クラスで十分です。

クラス matplotlib.backends.backend_template. GraphicsContextTemplate [ソース] #

拠点:GraphicsContextBase

グラフィックス コンテキストは、色、線のスタイルなどを提供します。グラフィックス コンテキストの属性 (キャップ スタイル、結合スタイル、線幅、色) を特定のバックエンドにマッピングする例については、cairo および PostScript バックエンドを参照してください。cairo では、cairo.Context オブジェクトをラップし、スタイルを gdk 定数にマッピングするディクショナリを使用して適切な呼び出しを転送することでこれを行います。Postscript では、すべての作業はレンダラーによって行われ、ライン スタイルが Postscript 呼び出しにマッピングされます。

(postscript バックエンドのように) レンダラー レベルでマッピングを行う方が適切な場合は、GC メソッドをオーバーライドする必要はありません。(cairo バックエンドのように) インスタンスをラップしてここでマッピングを行う方が適切な場合は、いくつかのセッター メソッドをオーバーライドする必要があります。

ベース GraphicsContext は、単位間隔 (0.5、0.0、1.0) で色を RGB タプルとして格納します。これをバックエンドに適した色にマッピングする必要がある場合があります。

クラス matplotlib.backends.backend_template. RendererTemplate ( dpi ) [ソース] #

拠点:RendererBase

レンダラーは、描画/レンダリング操作を処理します。

これは、新しいバックエンドを作成するときに開始するために使用できる最小限の何もしないクラスです。backend_bases.RendererBaseメソッドのドキュメントについては、 を参照してください。

draw_image ( gc , x , y , im ) [ソース] #

RGBA イメージを描画します。

パラメータ:
GCGraphicsContextBase

クリッピング情報を含むグラフィック コンテキスト。

xスカラー

キャンバスの左側からの物理単位 (つまり、ドットまたはピクセル) での距離。

yスカラー

キャンバスの下側からの物理単位 (つまり、ドットまたはピクセル) での距離。

im (N, M, 4) np.uint8 の配列のようなもの

RGBA ピクセルの配列。

変身matplotlib.transforms.Affine2DBase

option_scale_imageが を返すように具体的なバックエンドが記述されている場合にのみ True、アフィン変換 (つまりAffine2DBase)に渡すことができますdraw_image。変換の平行移動ベクトルは、物理単位 (つまり、ドットまたはピクセル) で指定されます。変換はxyをオーバーライドせず、結果をxyで変換するに適用する必要があることに注意してください (これは、 transformで定義された変換ベクトルにxyを追加することで実現できます)。

draw_path ( gc , path , transform , rgbFace = None ) [source] #

Path指定されたアフィン変換を使用してインスタンスを描画します。

draw_text ( gc , x , y , s , prop , angle , ismath = False , mtext = None ) [source] #

テキスト インスタンスを描画します。

パラメータ:
GCGraphicsContextBase

グラフィックス コンテキスト。

×フロート

表示座標におけるテキストの x 位置。

yフロート

表示座標におけるテキスト ベースラインの y 位置。

s str

テキスト文字列。

小道具matplotlib.font_manager.FontProperties

フォントのプロパティ。

アングルフロート

反時計回りの回転角度 (度単位)。

マルチテキストmatplotlib.text.Text

レンダリングする元のテキスト オブジェクト。

ノート

バックエンドの実装者への注意:

バウンディング ボックスが正しく作成されているかどうか (これにより、テキストのレイアウト/配置が適切に機能するようになります) を判断しようとしている場合は、text.py の行を変更すると役立ちます。

if 0: bbox_artist(self, renderer)

if 1 にすると、実際の境界ボックスがテキストと共にプロットされます。

フリッピー( ) [ソース] #

y 値が上から下に増加するかどうかを返します。

これはテキストの描画にのみ影響することに注意してください。

get_canvas_width_height ( ) [ソース] #

キャンバスの幅と高さを表示座標で返します。

get_text_width_height_descent ( s , prop , ismath ) [source] #

propを使用し て、文字列sの幅、高さ、およびディセント (下からベースラインまでのオフセット) を表示座標で取得します。FontProperties

new_gc ( ) [ソース] #

のインスタンスを返しますGraphicsContextBase

points_to_pixels (ポイント) [ソース] #

ポイントを表示単位に変換します。

この関数をオーバーライドする必要があります (ポストスクリプトや svg など、バックエンドに dpi がない場合を除きます)。一部のイメージング システムでは、1 インチあたりのピクセル数に次のような値が想定されます。

points to pixels = points * pixels_per_inch/72 * dpi/72
パラメータ:
ポイントfloat または array-like

float または float の numpy 配列

戻り値:
ピクセルに変換されたポイント
matplotlib.backends.backend_template. show ( * , block = None ) [source] #

イメージ バックエンドの場合 - 必須ではありません。GUI バックエンドの場合、通常、show() は pyplot スクリプトの最後の行であり、描画する時間であることをバックエンドに伝えます。対話モードでは、これは何もしません。