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 (図=なし) [ソース] #
-
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 (キャンバス、数値) [ソース] #
-
pyplot モードのヘルパー クラスは、すべてを適切なバンドルにまとめます。
非インタラクティブなバックエンドの場合、基本クラスで十分です。
- クラス matplotlib.backends.backend_template. GraphicsContextTemplate [ソース] #
-
グラフィックス コンテキストは、色、線のスタイルなどを提供します。グラフィックス コンテキストの属性 (キャップ スタイル、結合スタイル、線幅、色) を特定のバックエンドにマッピングする例については、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 イメージを描画します。
- パラメータ:
- GC
GraphicsContextBase
クリッピング情報を含むグラフィック コンテキスト。
- xスカラー
キャンバスの左側からの物理単位 (つまり、ドットまたはピクセル) での距離。
- yスカラー
キャンバスの下側からの物理単位 (つまり、ドットまたはピクセル) での距離。
- im (N, M, 4) np.uint8 の配列のようなもの
RGBA ピクセルの配列。
- 変身
matplotlib.transforms.Affine2DBase
option_scale_image
が を返すように具体的なバックエンドが記述されている場合にのみTrue
、アフィン変換 (つまりAffine2DBase
)をに渡すことができますdraw_image
。変換の平行移動ベクトルは、物理単位 (つまり、ドットまたはピクセル) で指定されます。変換はxとyをオーバーライドせず、結果をxとyで変換する前に適用する必要があることに注意してください (これは、 transformで定義された変換ベクトルにx とyを追加することで実現できます)。
- GC
- draw_text ( gc , x , y , s , prop , angle , ismath = False , mtext = None ) [source] #
テキスト インスタンスを描画します。
- パラメータ:
- GC
GraphicsContextBase
グラフィックス コンテキスト。
- ×フロート
表示座標におけるテキストの x 位置。
- yフロート
表示座標におけるテキスト ベースラインの y 位置。
- s str
テキスト文字列。
- 小道具
matplotlib.font_manager.FontProperties
フォントのプロパティ。
- アングルフロート
反時計回りの回転角度 (度単位)。
- マルチテキスト
matplotlib.text.Text
レンダリングする元のテキスト オブジェクト。
- GC
ノート
バックエンドの実装者への注意:
バウンディング ボックスが正しく作成されているかどうか (これにより、テキストのレイアウト/配置が適切に機能するようになります) を判断しようとしている場合は、text.py の行を変更すると役立ちます。
if 0: bbox_artist(self, renderer)
if 1 にすると、実際の境界ボックスがテキストと共にプロットされます。
- get_text_width_height_descent ( s , prop , ismath ) [source] #
propを使用し て、文字列sの幅、高さ、およびディセント (下からベースラインまでのオフセット) を表示座標で取得します。
FontProperties
- new_gc ( ) [ソース] #
のインスタンスを返します
GraphicsContextBase
。