backend_agg
#
Um back-end de geometria anti-grão (AGG).
Funcionalidades implementadas:
capstyles e estilos de junção
traços
espessura da linha
linhas, retângulos, elipses
recortando em um retângulo
saída para RGBA e formatos de imagem compatíveis com travesseiro
mistura alfa
Dimensionamento de DPI corretamente - tudo é dimensionado corretamente (traços, larguras de linha etc.)
desenhar polígono
freetype2 c/ ft2font
Ainda TODO:
integrar tela dpi com ppi e texto
- matplotlib.backends.backend_agg. FigureCanvas [fonte] #
pseudônimo de
FigureCanvasAgg
- classe matplotlib.backends.backend_agg. FigureCanvasAgg ( figure = None ) [fonte] #
Bases:
FigureCanvasBase
- buffer_rgba ( ) [fonte] #
Obtenha a imagem como um
memoryview
buffer do renderizador.draw
deve ser chamado pelo menos uma vez antes que esta função funcione e para atualizar o renderizador para quaisquer alterações subsequentes na Figura.
- desenhar ( ) [fonte] #
Renderize o
Figure
.Esse método deve percorrer a árvore do artista, mesmo que nenhuma saída seja produzida, porque aciona o trabalho adiado que os usuários podem querer acessar antes de salvar a saída no disco. Por exemplo, calcular limites, limites automáticos e valores de escala.
- print_jpeg ( filename_or_obj , * args , pil_kwargs = Nenhum ) [fonte] #
Escreva a figura em um arquivo JPEG.
- Parâmetros :
- filename_or_obj str ou path-like ou file-like
O arquivo para gravar.
- ditado pil_kwargs , opcional
Argumentos de palavra-chave adicionais que são passados ao
PIL.Image.Image.save
salvar a figura.
- print_jpg ( filename_or_obj , * args , pil_kwargs = Nenhum ) [fonte] #
Escreva a figura em um arquivo JPEG.
- Parâmetros :
- filename_or_obj str ou path-like ou file-like
O arquivo para gravar.
- ditado pil_kwargs , opcional
Argumentos de palavra-chave adicionais que são passados ao
PIL.Image.Image.save
salvar a figura.
- print_png ( filename_or_obj , * args , metadata = Nenhum , pil_kwargs = Nenhum ) [fonte] #
Escreva a figura em um arquivo PNG.
- Parâmetros :
- filename_or_obj str ou path-like ou file-like
O arquivo para gravar.
- dicionário de metadados , opcional
Metadados no arquivo PNG como pares chave-valor de bytes ou cadeias de caracteres latin-1 codificáveis. De acordo com a especificação PNG, as chaves devem ter menos de 79 caracteres.
A especificação PNG define algumas palavras-chave comuns que podem ser usadas conforme apropriado:
Título: Título curto (uma linha) ou legenda para a imagem.
Autor: Nome do criador da imagem.
Descrição: Descrição da imagem (possivelmente longa).
Direitos autorais: aviso de direitos autorais.
Tempo de Criação: Tempo de criação da imagem original (geralmente no formato RFC 1123).
Software: Software usado para criar a imagem.
Isenção de responsabilidade: Isenção de responsabilidade legal.
Aviso: Aviso sobre a natureza do conteúdo.
Fonte: Dispositivo usado para criar a imagem.
Comentário: Comentário diversos; conversão de outro formato de imagem.
Outras palavras-chave podem ser inventadas para outros fins.
Se 'Software' não for fornecido, um valor gerado automaticamente para Matplotlib será usado. Isso pode ser removido definindo-o como Nenhum .
Para obter mais detalhes, consulte a especificação do PNG .
- ditado pil_kwargs , opcional
Argumentos de palavra-chave passados para
PIL.Image.Image.save
.Se a chave 'pnginfo' estiver presente, ela substituirá completamente os metadados , incluindo a chave padrão 'Software'.
- print_tif ( filename_or_obj , * , pil_kwargs = Nenhum ) [fonte] #
Escreva a figura em um arquivo TIFF.
- Parâmetros :
- filename_or_obj str ou path-like ou file-like
O arquivo para gravar.
- ditado pil_kwargs , opcional
Argumentos de palavra-chave adicionais que são passados ao
PIL.Image.Image.save
salvar a figura.
- print_tiff ( filename_or_obj , * , pil_kwargs = Nenhum ) [fonte] #
Escreva a figura em um arquivo TIFF.
- Parâmetros :
- filename_or_obj str ou path-like ou file-like
O arquivo para gravar.
- ditado pil_kwargs , opcional
Argumentos de palavra-chave adicionais que são passados ao
PIL.Image.Image.save
salvar a figura.
- print_webp ( filename_or_obj , * , pil_kwargs = Nenhum ) [fonte] #
Grave a figura em um arquivo WebP.
- Parâmetros :
- filename_or_obj str ou path-like ou file-like
O arquivo para gravar.
- ditado pil_kwargs , opcional
Argumentos de palavra-chave adicionais que são passados ao
PIL.Image.Image.save
salvar a figura.
- classe matplotlib.backends.backend_agg. RendererAgg ( largura , altura , dpi ) [fonte] #
Bases:
RendererBase
O renderizador lida com todas as primitivas de desenho usando uma instância de contexto gráfico que controla as cores/estilos
- draw_mathtext ( gc , x , y , s , prop , angle ) [fonte] #
Desenhe texto matemático usando
matplotlib.mathtext
.
- draw_path ( gc , path , transform , rgbFace = None ) [source] #
Desenhe uma
Path
instância usando a transformação afim fornecida.
- draw_text ( gc , x , y , s , prop , angle , ismath = False , mtext = None ) [source] #
Desenhe uma instância de texto.
- Parâmetros :
- gc
GraphicsContextBase
O contexto gráfico.
- x flutuar
A localização x do texto nas coordenadas de exibição.
- você flutua
A localização y da linha de base do texto nas coordenadas de exibição.
- s str
A sequência de texto.
- suporte
matplotlib.font_manager.FontProperties
As propriedades da fonte.
- ângulo flutuante
O ângulo de rotação em graus no sentido anti-horário.
- mtext
matplotlib.text.Text
O objeto de texto original a ser renderizado.
- gc
Notas
Observação para implementadores de back-end:
Quando você está tentando determinar se acertou sua caixa delimitadora (que é o que permite que o layout/alinhamento do texto funcione corretamente), é útil alterar a linha em text.py:
if 0: bbox_artist(self, renderer)
para se 1 e, em seguida, a caixa delimitadora real será plotada junto com seu texto.
- get_canvas_width_height ( ) [fonte] #
Retorna a largura e a altura da tela nas coordenadas de exibição.
- get_text_width_height_descent ( s , prop , ismath ) [fonte] #
Obtenha a largura, altura e descida (deslocamento da parte inferior até a linha de base), em coordenadas de exibição, da string s com prop .
FontProperties
- lock = <unlocked _thread.RLock object owner=0 count=0> #
- option_image_nocomposite ( ) [fonte] #
Retorna se a composição da imagem pelo Matplotlib deve ser ignorada.
Os back-ends raster geralmente devem retornar False (deixando o rasterizador de nível C cuidar da composição da imagem); back-ends vetoriais geralmente devem retornar .
not rcParams["image.composite_image"]
- option_scale_image ( ) [fonte] #
Retorna se as transformações afins arbitrárias
draw_image
são suportadas (Verdadeiro para a maioria dos back-ends de vetor).
- points_to_pixels ( pontos ) [fonte] #
Converta pontos em unidades de exibição.
Você precisa substituir esta função (a menos que seu back-end não tenha um dpi, por exemplo, postscript ou svg). Alguns sistemas de imagem assumem algum valor para pixels por polegada:
points to pixels = points * pixels_per_inch/72 * dpi/72
- Parâmetros :
- pontos float ou array-like
um float ou um array numpy de float
- Devoluções :
- Pontos convertidos em pixels
- restore_region ( região , bbox = Nenhum , xy = Nenhum ) [fonte] #
Restaure a região salva. Se bbox (instância de BboxBase, ou suas extensões) for fornecida, apenas a região especificada pelo bbox será restaurada. xy (um par de floats) opcionalmente especifica a nova posição (o LLC da região original, não o LLC do bbox) onde a região será restaurada.
>>> region = renderer.copy_from_bbox() >>> x1, y1, x2, y2 = region.get_extents() >>> renderer.restore_region(region, bbox=(x1+dx, y1, x2, y2), ... xy=(x1-dx, y1))
- start_filter ( ) [fonte] #
Comece a filtrar. Ele simplesmente cria uma nova tela (a antiga é salva).
- stop_filter ( post_processing ) [fonte] #
Salve o gráfico na tela atual como uma imagem e aplique a função post_processing .
- def post_processing(imagem, dpi):
# ny, nx, depth = image.shape # image (array numpy) tem canais RGBA e profundidade de 4. ... # cria uma new_image (array numpy de 4 canais, tamanho pode ser # diferente). A imagem resultante pode ter deslocamentos de # canto inferior esquerdo da imagem original return new_image, offset_x, offset_y
O renderizador salvo é restaurado e a imagem retornada do post_processing é plotada (usando draw_image) nele.