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. 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'
.반환된 문자열에는 마침표가 포함되어 있지 않습니다. 이 방법은 단일 파일 형식만 지원하는 백엔드에서 재정의됩니다.
- print_foo ( 파일 이름 , * 인수 , ** kwargs ) [소스] #
foo 형식을 작성하십시오.
이 메서드는 일반적으로
Figure.savefig
및 를 통해 호출되며FigureCanvasBase.print_figure
그림의 facecolor, edgecolor 및 dpi를 원하는 출력 값으로 설정하고 원래 값으로 복원합니다. 따라서print_foo
이러한 설정을 처리할 필요가 없습니다.
- 클래스 matplotlib.backends.backend_template. FigureManagerTemplate ( 캔버스 , 숫자 ) [소스] #
-
pyplot 모드의 도우미 클래스는 모든 것을 깔끔한 번들로 래핑합니다.
비대화형 백엔드의 경우 기본 클래스로 충분합니다.
- 클래스 matplotlib.backends.backend_template. GraphicsContextTemplate [소스] #
-
그래픽 컨텍스트는 색상, 선 스타일 등을 제공합니다. 그래픽 컨텍스트 속성(캡 스타일, 조인 스타일, 선 너비, 색상)을 특정 백엔드로 매핑하는 예는 카이로 및 포스트스크립트 백엔드를 참조하세요. 카이로에서는 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 이미지를 그립니다.
- 매개변수 :
- 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 로 변환 하기 전에 적용 해야 합니다(이는 변환 에 의해 정의된 변환 벡터에 x 및 y 를 추가하여 수행할 수 있음 ).
- gc
- draw_text ( gc , x , y , s , prop , angle , ismath = False , mtext = None ) [출처] #
텍스트 인스턴스를 그립니다.
- 매개변수 :
- gc
GraphicsContextBase
그래픽 컨텍스트입니다.
- x 플로트
디스플레이 좌표에서 텍스트의 x 위치입니다.
- y 플로트
디스플레이 좌표에서 텍스트 기준선의 y 위치입니다.
- s str
텍스트 문자열입니다.
- 소품
matplotlib.font_manager.FontProperties
글꼴 속성입니다.
- 앵글 플로트
시계 반대 방향의 회전 각도입니다.
- 여러 줄 문자
matplotlib.text.Text
렌더링할 원본 텍스트 개체입니다.
- gc
메모
백엔드 구현자를 위한 참고 사항:
바운딩 박스가 올바른지 확인하려고 할 때(텍스트 레이아웃/정렬이 제대로 작동하도록 하는 것) text.py에서 줄을 변경하는 데 도움이 됩니다.
if 0: bbox_artist(self, renderer)
1이면 실제 경계 상자가 텍스트와 함께 그려집니다.
- get_text_width_height_descent ( s , prop , ismath ) [출처] #
디스플레이 좌표 에서 prop 을 사용하여 문자열 s 의 너비, 높이 및 하강(하단에서 기준선까지의 오프셋)을 가져옵니다 .
FontProperties
- new_gc ( ) [출처] #
의 인스턴스를 반환합니다
GraphicsContextBase
.