backend_template#

백엔드 작성자를 위한 템플릿으로 의도된 완전한 기능의 백엔드입니다. 예를 들어 백엔드로 선택할 수 있다는 점에서 완벽하게 작동합니다.

import matplotlib
matplotlib.use("template")

출력이 생성되지 않더라도 프로그램은 오류 없이 실행됩니다(반드시!). 이는 백엔드 작성자에게 출발점을 제공합니다. draw_path그리기 방법( , 등) 을 선택적으로 구현 draw_image하고 결과를 얻기 전에 완전히 구현해야 하는 대신 천천히 그림이 살아나는 것을 볼 수 있습니다.

이 파일을 Python이 가져올 수 있는 Matplotlib 소스 트리 외부의 디렉토리에 복사합니다(디렉토리를 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

그림이 렌더링되는 캔버스입니다. draw 및 print fig 메서드를 호출하고 렌더러를 생성하는 등의 작업을 수행합니다.

참고: GUI 템플릿은 기본 클래스 메서드인 button_press_event, button_release_event, motion_notify_event, key_press_event 및 key_release_event를 호출하는 함수에 버튼 누름, 마우스 이동 및 키 누름에 대한 이벤트를 연결하려고 합니다. 예제는 대화형 백엔드 구현을 참조하세요.

속성 :
수치matplotlib.figure.Figure

높은 수준의 Figure 인스턴스

그리기 ( ) [출처] #

렌더러를 사용하여 그림을 그립니다.

이 방법은 출력이 생성되지 않더라도 사용자가 디스크에 저장하기 전에 액세스할 수 있는 지연된 작업(계산 제한 자동 제한 및 틱 값과 같은)을 트리거하기 때문에 실제로 아티스트 트리를 걷는 것이 중요합니다.

filetypes = {'eps': 'Encapsulated Postscript', 'foo': 'My magic Foo format', 'jpeg': '공동 사진 전문가 그룹', 'jpg': '공동 사진 전문가 그룹', '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 이미지 형식 '} #
get_default_filetype ( ) [소스] #

rcParams["savefig.format"](기본값: ) 에 지정된 대로 기본 savefig 파일 형식을 반환합니다 '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.Context 객체를 래핑하고 gdk 상수에 대한 사전 매핑 스타일을 사용하여 적절한 호출을 전달하여 수행됩니다. 포스트스크립트에서 모든 작업은 렌더러가 수행하며 선 스타일을 포스트스크립트 호출에 매핑합니다.

렌더러 수준에서 매핑을 수행하는 것이 더 적절한 경우(postscript 백엔드에서와 같이) GC 메서드를 재정의할 필요가 없습니다. 인스턴스를 래핑하고(cairo 백엔드에서와 같이) 여기에서 매핑을 수행하는 것이 더 적절하다면 여러 setter 메서드를 재정의해야 합니다.

기본 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 로 변환 하기 전에 적용 해야 합니다(이는 변환 에 의해 정의된 변환 벡터에 xy 를 추가하여 수행할 수 있음 ).

draw_path ( gc , 경로 , 변환 , rgbFace = 없음 ) [소스] #

Path주어진 아핀 변환을 사용하여 인스턴스를 그립니다 .

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

텍스트 인스턴스를 그립니다.

매개변수 :
gcGraphicsContextBase

그래픽 컨텍스트입니다.

x 플로트

디스플레이 좌표에서 텍스트의 x 위치입니다.

y 플로트

디스플레이 좌표에서 텍스트 기준선의 y 위치입니다.

s str

텍스트 문자열입니다.

소품matplotlib.font_manager.FontProperties

글꼴 속성입니다.

앵글 플로트

시계 반대 방향의 회전 각도입니다.

여러 줄 문자matplotlib.text.Text

렌더링할 원본 텍스트 개체입니다.

메모

백엔드 구현자를 위한 참고 사항:

바운딩 박스가 올바른지 확인하려고 할 때(텍스트 레이아웃/정렬이 제대로 작동하도록 하는 것) text.py에서 줄을 변경하는 데 도움이 됩니다.

if 0: bbox_artist(self, renderer)

1이면 실제 경계 상자가 텍스트와 함께 그려집니다.

flipy ( ) [출처] #

y 값이 위에서 아래로 증가하는지 여부를 반환합니다.

이는 텍스트 그리기에만 영향을 미칩니다.

get_canvas_width_height ( ) [출처] #

디스플레이 좌표에서 캔버스 너비와 높이를 반환합니다.

get_text_width_height_descent ( s , prop , ismath ) [출처] #

디스플레이 좌표 에서 prop 을 사용하여 문자열 s 의 너비, 높이 및 하강(하단에서 기준선까지의 오프셋)을 가져옵니다 .FontProperties

new_gc ( ) [출처] #

의 인스턴스를 반환합니다 GraphicsContextBase.

points_to_pixels ( 포인트 ) [출처] #

포인트를 표시 단위로 변환합니다.

이 기능을 재정의해야 합니다(백엔드에 포스트스크립트 또는 svg와 같은 dpi가 없는 경우 제외). 일부 이미징 시스템은 인치당 픽셀 값을 가정합니다.

points to pixels = points * pixels_per_inch/72 * dpi/72
매개변수 :
포인트 부동 또는 배열 유사

float 또는 float의 numpy 배열

반환 :
픽셀로 변환된 포인트
matplotlib.backends.backend_template. show ( * , 블록 = 없음 ) [소스] #

이미지 백엔드의 경우 - 필요하지 않습니다. GUI 백엔드의 경우 - show()는 일반적으로 pyplot 스크립트의 마지막 줄이며 그릴 시간임을 백엔드에 알립니다. 대화형 모드에서는 아무 작업도 수행하지 않습니다.