backend_agg
#
Un backend Anti-Grain Geometry (AGG).
Funzionalità implementate:
capstyles e stili di join
trattini
larghezza della linea
linee, rettangoli, ellissi
ritaglio a un rettangolo
output nei formati di immagine supportati da RGBA e Pillow
miscelazione alfa
Ridimensionamento DPI corretto: tutto viene ridimensionato correttamente (trattini, larghezze di riga, ecc.)
disegnare un poligono
freetype2 con ft2font
Ancora DA FARE:
integra schermo dpi con ppi e testo
- matplotlib.backends.backend_agg. FigureCanvas [fonte] #
alias di
FigureCanvasAgg
- classe matplotlib.backends.backend_agg. FigureCanvasAgg ( figura = None ) [fonte] #
Basi:
FigureCanvasBase
- buffer_rgba ( ) [fonte] #
Ottieni l'immagine come
memoryview
a nel buffer del renderer.draw
deve essere chiamato almeno una volta prima che questa funzione funzioni e per aggiornare il renderer per eventuali modifiche successive alla figura.
- disegna ( ) [fonte] #
Rendi il file
Figure
.Questo metodo deve percorrere l'albero dell'artista, anche se non viene prodotto alcun output, poiché attiva il lavoro differito a cui gli utenti potrebbero voler accedere prima di salvare l'output su disco. Ad esempio limiti di calcolo, limiti automatici e valori tick.
- print_jpeg ( filename_or_obj , * args , pil_kwargs = None ) [fonte] #
Scrivi la figura in un file JPEG.
- Parametri :
- filename_or_obj str o simile a un percorso o simile a un file
Il file su cui scrivere.
- pil_kwargs dict, facoltativo
Argomenti di parole chiave aggiuntivi che vengono passati
PIL.Image.Image.save
durante il salvataggio della figura.
- print_jpg ( filename_or_obj , * args , pil_kwargs = None ) [fonte] #
Scrivi la figura in un file JPEG.
- Parametri :
- filename_or_obj str o simile a un percorso o simile a un file
Il file su cui scrivere.
- pil_kwargs dict, facoltativo
Argomenti di parole chiave aggiuntivi che vengono passati
PIL.Image.Image.save
durante il salvataggio della figura.
- print_png ( filename_or_obj , * args , metadata = None , pil_kwargs = None ) [fonte] #
Scrivi la figura in un file PNG.
- Parametri :
- filename_or_obj str o simile a un percorso o simile a un file
Il file su cui scrivere.
- metadati dict, facoltativo
Metadati nel file PNG come coppie chiave-valore di byte o stringhe codificabili Latin-1. Secondo la specifica PNG, le chiavi devono essere più corte di 79 caratteri.
La specifica PNG definisce alcune parole chiave comuni che possono essere utilizzate a seconda dei casi:
Titolo: titolo o didascalia breve (una riga) per l'immagine.
Autore: Nome del creatore dell'immagine.
Descrizione: descrizione dell'immagine (possibilmente lunga).
Copyright: Avviso sul copyright.
Tempo di creazione: tempo di creazione dell'immagine originale (in genere formato RFC 1123).
Software: software utilizzato per creare l'immagine.
Disclaimer: Disclaimer legale.
Avviso: Avviso sulla natura del contenuto.
Fonte: dispositivo utilizzato per creare l'immagine.
Commento: Commento vario; conversione da altro formato immagine.
Altre parole chiave possono essere inventate per altri scopi.
Se "Software" non viene fornito, verrà utilizzato un valore generato automaticamente per Matplotlib. Questo può essere rimosso impostandolo su None .
Per maggiori dettagli vedere la specifica PNG .
- pil_kwargs dict, facoltativo
Argomenti delle parole chiave passati a
PIL.Image.Image.save
.Se la chiave 'pnginfo' è presente, sovrascrive completamente i metadati , inclusa la chiave predefinita 'Software'.
- print_tif ( filename_or_obj , * , pil_kwargs = None ) [fonte] #
Scrivi la figura in un file TIFF.
- Parametri :
- filename_or_obj str o simile a un percorso o simile a un file
Il file su cui scrivere.
- pil_kwargs dict, facoltativo
Argomenti di parole chiave aggiuntivi che vengono passati
PIL.Image.Image.save
durante il salvataggio della figura.
- print_tiff ( filename_or_obj , * , pil_kwargs = None ) [fonte] #
Scrivi la figura in un file TIFF.
- Parametri :
- filename_or_obj str o simile a un percorso o simile a un file
Il file su cui scrivere.
- pil_kwargs dict, facoltativo
Argomenti di parole chiave aggiuntivi che vengono passati
PIL.Image.Image.save
durante il salvataggio della figura.
- print_webp ( filename_or_obj , * , pil_kwargs = None ) [fonte] #
Scrivi la figura in un file WebP.
- Parametri :
- filename_or_obj str o simile a un percorso o simile a un file
Il file su cui scrivere.
- pil_kwargs dict, facoltativo
Argomenti di parole chiave aggiuntivi che vengono passati
PIL.Image.Image.save
durante il salvataggio della figura.
- classe matplotlib.backends.backend_agg. RendererAgg ( width , height , dpi ) [fonte] #
Basi:
RendererBase
Il renderer gestisce tutte le primitive di disegno utilizzando un'istanza del contesto grafico che controlla i colori/stili
- draw_mathtext ( gc , x , y , s , prop , angolo ) [fonte] #
Disegna il testo matematico usando
matplotlib.mathtext
.
- draw_path ( gc , path , transform , rgbFace = None ) [fonte] #
Disegna
Path
un'istanza usando la trasformata affine data.
- draw_text ( gc , x , y , s , prop , angle , ismath = False , mtext = None ) [fonte] #
Disegna un'istanza di testo.
- Parametri :
- gc
GraphicsContextBase
Il contesto grafico.
- x galleggiante
La posizione x del testo nelle coordinate di visualizzazione.
- tu galleggi
La posizione y della linea di base del testo nelle coordinate di visualizzazione.
- str _
La stringa di testo.
- puntello
matplotlib.font_manager.FontProperties
Le proprietà del carattere.
- galleggiante angolare
L'angolo di rotazione in gradi in senso antiorario.
- mtesto
matplotlib.text.Text
Oggetto di testo originale di cui eseguire il rendering.
- gc
Appunti
Nota per gli implementatori di backend:
Quando stai cercando di determinare se hai ottenuto il riquadro di delimitazione corretto (che è ciò che consente al layout/allineamento del testo di funzionare correttamente), è utile modificare la riga in text.py:
if 0: bbox_artist(self, renderer)
a se 1, quindi il riquadro di delimitazione effettivo verrà tracciato insieme al testo.
- get_canvas_width_height ( ) [fonte] #
Restituisce la larghezza e l'altezza della tela nelle coordinate di visualizzazione.
- get_text_width_height_descent ( s , prop , ismath ) [fonte] #
Ottieni la larghezza, l'altezza e la discesa (offset dal basso alla linea di base), nelle coordinate di visualizzazione, della stringa s con prop .
FontProperties
- lock = <unlocked _thread.RLock proprietario dell'oggetto =0 count=0> #
- option_image_nocomposite ( ) [fonte] #
Indica se la composizione dell'immagine di Matplotlib deve essere ignorata.
I backend raster di solito dovrebbero restituire False (lasciando che il rasterizzatore di livello C si occupi della composizione dell'immagine); i backend vettoriali di solito dovrebbero restituire .
not rcParams["image.composite_image"]
- option_scale_image ( ) [fonte] #
draw_image
Indica se sono supportate trasformazioni affini arbitrarie in (Vero per la maggior parte dei backend vettoriali).
- punti_in_pixel ( punti ) [fonte] #
Converti i punti in unità di visualizzazione.
Devi sovrascrivere questa funzione (a meno che il tuo backend non abbia un dpi, ad esempio, postscript o svg). Alcuni sistemi di imaging assumono un certo valore per i pixel per pollice:
points to pixels = points * pixels_per_inch/72 * dpi/72
- Parametri :
- i punti sono float o simili a array
un float o un array numpy di float
- Resi :
- Punti convertiti in pixel
- restore_region ( regione , bbox = Nessuno , xy = Nessuno ) [fonte] #
Ripristina la regione salvata. Se viene fornita bbox (istanza di BboxBase o sue estensioni), verrà ripristinata solo la regione specificata da bbox. xy (una coppia di float) facoltativamente specifica la nuova posizione (la LLC della regione originale, non la LLC della bbox) in cui la regione verrà ripristinata.
>>> 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] #
Inizia a filtrare. Crea semplicemente una nuova tela (quella vecchia viene salvata).
- stop_filter ( post_elaborazione ) [fonte] #
Salva la trama nella tela corrente come immagine e applica la funzione post_processing .
- def post_elaborazione(immagine, dpi):
# ny, nx, depth = image.shape # immagine (array numpy) ha canali RGBA e ha una profondità di 4. ... # crea una nuova_immagine (array numpy di 4 canali, la dimensione può essere # diversa). L'immagine risultante può avere offset da # angolo inferiore sinistro dell'immagine originale return new_image, offset_x, offset_y
Il renderer salvato viene ripristinato e l'immagine restituita dalla post_elaborazione viene tracciata su di esso (usando draw_image).