matplotlib.patches.Arc #

classe matplotlib.patches. Arco ( xy , larghezza , altezza , * , angolo = 0.0 , theta1 = 0.0 , theta2 = 360.0 , ** kwargs ) [fonte] #

Basi:Ellipse

Un arco ellittico, cioè un segmento di un'ellisse.

A causa di ottimizzazioni interne, l'arco non può essere riempito.

Parametri :
xy (flottante, mobile)

Il centro dell'ellisse.

larghezza galleggiante

La lunghezza dell'asse orizzontale.

galleggiante in altezza

La lunghezza dell'asse verticale.

galleggiante angolare

Rotazione dell'ellisse in gradi (senso antiorario).

theta1, theta2 float, predefinito: 0, 360

Angoli iniziale e finale dell'arco in gradi. Questi valori sono relativi ad angle , ad esempio se angle = 45 e theta1 = 90 l'angolo di partenza assoluto è 135. Di default theta1 = 0, theta2 = 360, cioè un'ellisse completa. L'arco è disegnato in senso antiorario. Gli angoli maggiori o uguali a 360, o minori di 0, sono rappresentati da un angolo equivalente nell'intervallo [0, 360), prendendo il valore di input mod 360.

Altri parametri :
** proprietà kwargsPatch

La maggior parte delle Patchproprietà sono supportate come argomenti di parole chiave, ad eccezione di fill e facecolor perché il riempimento non è supportato.

Proprietà

Descrizione

agg_filter

una funzione di filtro, che accetta un array float (m, n, 3) e un valore dpi e restituisce un array (m, n, 3) e due offset dall'angolo in basso a sinistra dell'immagine

alpha

sconosciuto

animated

bool

antialiasedo aa

bool o Nessuno

capstyle

CapStyleo {'culo', 'sporgente', 'rotondo'}

clip_box

Bbox

clip_on

bool

clip_path

Patch o (Percorso, Trasforma) o Nessuno

color

colore

edgecoloro ecc

colore o Nessuno

facecoloro fc

colore o Nessuno

figure

Figure

fill

bool

gid

str

hatch

{'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}

in_layout

bool

joinstyle

JoinStyleo {'mitre', 'round', 'bevel'}

label

oggetto

linestyleo ls

{'-', '--', '-.', ':', '', (offset, on-off-seq), ...}

linewidtho lw

float o Nessuno

mouseover

bool

path_effects

AbstractPathEffect

picker

Nessuno o bool o float o richiamabile

rasterized

bool

sketch_params

(scala: float, lunghezza: float, casualità: float)

snap

bool o Nessuno

transform

Transform

url

str

visible

bool

zorder

galleggiante

draw ( renderer ) [fonte] #

Disegna l'arco al renderer dato .

Appunti

Le ellissi vengono normalmente disegnate utilizzando un'approssimazione che utilizza otto spline di Bezier cubiche. L'errore di questa approssimazione è 1.89818e-6, secondo questa fonte non verificata:

Lancaster, Don. Approssimazione di un cerchio o di un'ellisse utilizzando quattro spline cubiche di Bezier.

https://www.tinaja.com/glib/ellipse4.pdf

Esiste un caso d'uso in cui è necessario disegnare ellissi molto grandi con una precisione molto elevata ed è troppo costoso eseguire il rendering dell'intera ellisse con un numero sufficiente di segmenti (spline o segmenti di linea). Pertanto, nel caso in cui uno dei due raggi dell'ellisse sia sufficientemente grande da rendere visibile l'errore dell'approssimazione della spline (maggiore di un pixel di scostamento dall'ideale), viene utilizzata una tecnica diversa.

In tal caso, vengono disegnate solo le parti visibili dell'ellisse, con ciascun arco visibile che utilizza un numero fisso di segmenti di spline (8). L'algoritmo procede come segue:

  1. Si trovano i punti in cui l'ellisse interseca il riquadro di delimitazione degli assi (o della figura). (Questo viene fatto eseguendo una trasformazione inversa sulla bbox in modo tale che sia relativa al cerchio unitario: questo rende il calcolo dell'intersezione molto più semplice rispetto a eseguire direttamente l'intersezione dell'ellisse ruotata.)

    Questo utilizza l'algoritmo "linea che interseca un cerchio" da:

    Vincenzo, Giovanni. Geometria per computer grafica: formule, esempi e dimostrazioni. Londra: Springer-Verlag, 2005.

  2. Vengono calcolati gli angoli di ciascuno dei punti di intersezione.

  3. Procedendo in senso antiorario a partire dalla direzione x positiva, ciascuno dei segmenti d'arco visibili tra le coppie di vertici viene disegnato utilizzando la tecnica di approssimazione dell'arco di Bezier implementata in Path.arc.

set ( * , agg_filter=<UNSET> , alpha=<UNSET> , angle=<UNSET> , animation=<UNSET> , antialiased=<UNSET> , capstyle=<UNSET> , center=<UNSET> , clip_box=<UNSET > , clip_on=<UNSET> , clip_path=<UNSET> , color=<UNSET> , edgecolor=<UNSET> , facecolor=<UNSET> , fill=<UNSET> , gid=<UNSET> , hatch=<UNSET> , altezza=<UNSET> ,in_layout=<UNSET> ,joinstyle=<UNSET> , label=<UNSET> , linestyle=<UNSET> , linewidth=<UNSET> , mouseover=<UNSET> , path_effects=<UNSET> , picker=<UNSET> , rasterized=<UNSET> , sketch_params= <UNSET> , snap=<UNSET> , transform=<UNSET> , url=<UNSET> , visible=<UNSET> , width=<UNSET> , zorder=<UNSET> ) [source] #

Imposta più proprietà contemporaneamente.

Le proprietà supportate sono

Proprietà

Descrizione

agg_filter

una funzione di filtro, che accetta un array float (m, n, 3) e un valore dpi e restituisce un array (m, n, 3) e due offset dall'angolo in basso a sinistra dell'immagine

alpha

scalare o Nessuno

angle

galleggiante

animated

bool

antialiasedo aa

bool o Nessuno

capstyle

CapStyleo {'culo', 'sporgente', 'rotondo'}

center

(galleggiare, galleggiare)

clip_box

Bbox

clip_on

bool

clip_path

Patch o (Percorso, Trasforma) o Nessuno

color

colore

edgecoloro ecc

colore o Nessuno

facecoloro fc

colore o Nessuno

figure

Figure

fill

bool

gid

str

hatch

{'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}

height

galleggiante

in_layout

bool

joinstyle

JoinStyleo {'mitre', 'round', 'bevel'}

label

oggetto

linestyleo ls

{'-', '--', '-.', ':', '', (offset, on-off-seq), ...}

linewidtho lw

float o Nessuno

mouseover

bool

path_effects

AbstractPathEffect

picker

Nessuno o bool o float o richiamabile

rasterized

bool

sketch_params

(scala: float, lunghezza: float, casualità: float)

snap

bool o Nessuno

transform

Transform

url

str

visible

bool

width

galleggiante

zorder

galleggiante

Esempi che utilizzano matplotlib.patches.Arc#

Scala etichetta angolo invariante

Scala etichetta angolo invariante

Scala etichetta angolo invariante
Ellisse con unità

Ellisse con unità

Ellisse con unità