matplotlib.patches.Arc #

classe matplotlib.patches. Arc ( xy , largura , altura , * , ângulo = 0,0 , theta1 = 0,0 , theta2 = 360,0 , ** kwargs ) [fonte] #

Bases:Ellipse

Um arco elíptico, ou seja, um segmento de uma elipse.

Devido a otimizações internas, o arco não pode ser preenchido.

Parâmetros :
xy (flutuar, flutuar)

O centro da elipse.

flutuação de largura

O comprimento do eixo horizontal.

flutuador de altura

O comprimento do eixo vertical.

ângulo flutuante

Rotação da elipse em graus (sentido anti-horário).

theta1, theta2 flutuante, padrão: 0, 360

Ângulos inicial e final do arco em graus. Esses valores são relativos ao ângulo , por exemplo, se ângulo = 45 e theta1 = 90, o ângulo inicial absoluto é 135. Padrão theta1 = 0, theta2 = 360, ou seja, uma elipse completa. O arco é desenhado no sentido anti-horário. Ângulos maiores ou iguais a 360, ou menores que 0, são representados por um ângulo equivalente no intervalo [0, 360), tomando o valor de entrada mod 360.

Outros Parâmetros :
** Patchpropriedades dos kwargs

A maioria das Patchpropriedades tem suporte como argumentos de palavra-chave, com exceção de fill e facecolor porque o preenchimento não tem suporte.

Propriedade

Descrição

agg_filter

uma função de filtro, que usa uma matriz flutuante (m, n, 3) e um valor de dpi e retorna uma matriz (m, n, 3) e dois deslocamentos do canto inferior esquerdo da imagem

alpha

desconhecido

animated

bool

antialiasedou aa

bool ou nenhum

capstyle

CapStyleou {'bunda', 'projetando', 'redondo'}

clip_box

Bbox

clip_on

bool

clip_path

Patch ou (Caminho, Transformação) ou Nenhum

color

cor

edgecolorou ec

cor ou nenhum

facecolorou fc

cor ou nenhum

figure

Figure

fill

bool

gid

str

hatch

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

in_layout

bool

joinstyle

JoinStyleou {'esquadria', 'redondo', 'chanfrado'}

label

objeto

linestyleou ls

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

linewidthou lw

flutuante ou nenhum

mouseover

bool

path_effects

AbstractPathEffect

picker

None ou bool ou float ou callable

rasterized

bool

sketch_params

(escala: flutuante, comprimento: flutuante, aleatoriedade: flutuante)

snap

bool ou nenhum

transform

Transform

url

str

visible

bool

zorder

flutuador

desenhar ( renderizador ) [fonte] #

Desenhe o arco para o renderizador fornecido .

Notas

As elipses são normalmente desenhadas usando uma aproximação que usa oito splines Bezier cúbicos. O erro desta aproximação é 1.89818e-6, de acordo com esta fonte não verificada:

Lencastre, Don. Aproximando um círculo ou uma elipse usando quatro splines cúbicos de Bezier.

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

Há um caso de uso em que elipses muito grandes devem ser desenhadas com precisão muito alta e é muito caro renderizar a elipse inteira com segmentos suficientes (seja splines ou segmentos de linha). Portanto, no caso em que o raio da elipse é grande o suficiente para que o erro da aproximação da spline seja visível (maior que um deslocamento de pixel do ideal), uma técnica diferente é usada.

Nesse caso, apenas as partes visíveis da elipse são desenhadas, com cada arco visível usando um número fixo de segmentos spline (8). O algoritmo prossegui como desejado:

  1. Os pontos onde a elipse intercepta a caixa delimitadora dos eixos (ou figura) estão localizados. (Isso é feito realizando uma transformação inversa na bbox de modo que ela seja relativa ao círculo unitário -- isso torna o cálculo da interseção muito mais fácil do que fazer a interseção da elipse girada diretamente.)

    Isso usa o algoritmo "linha que cruza um círculo" de:

    Vicente, John. Geometria para Computação Gráfica: Fórmulas, Exemplos & Provas. Londres: Springer-Verlag, 2005.

  2. Os ângulos de cada um dos pontos de interseção são calculados.

  3. Procedendo no sentido anti-horário começando na direção x positiva, cada um dos segmentos de arco visíveis entre os pares de vértices são desenhados usando a técnica de aproximação de arco de Bezier implementada em Path.arc.

set ( * , agg_filter=<UNSET> , alpha=<UNSET> , angle=<UNSET> , animado=<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> , hachura=<UNSET> , altura=<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] #

Defina várias propriedades de uma só vez.

As propriedades suportadas são

Propriedade

Descrição

agg_filter

uma função de filtro, que usa uma matriz flutuante (m, n, 3) e um valor de dpi e retorna uma matriz (m, n, 3) e dois deslocamentos do canto inferior esquerdo da imagem

alpha

escalar ou nenhum

angle

flutuador

animated

bool

antialiasedou aa

bool ou nenhum

capstyle

CapStyleou {'bunda', 'projetando', 'redondo'}

center

(flutuar, flutuar)

clip_box

Bbox

clip_on

bool

clip_path

Patch ou (Caminho, Transformação) ou Nenhum

color

cor

edgecolorou ec

cor ou nenhum

facecolorou fc

cor ou nenhum

figure

Figure

fill

bool

gid

str

hatch

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

height

flutuador

in_layout

bool

joinstyle

JoinStyleou {'esquadria', 'redondo', 'chanfrado'}

label

objeto

linestyleou ls

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

linewidthou lw

flutuante ou nenhum

mouseover

bool

path_effects

AbstractPathEffect

picker

None ou bool ou float ou callable

rasterized

bool

sketch_params

(escala: flutuante, comprimento: flutuante, aleatoriedade: flutuante)

snap

bool ou nenhum

transform

Transform

url

str

visible

bool

width

flutuador

zorder

flutuador

Exemplos usando matplotlib.patches.Arc#

Rótulo de ângulo invariante de escala

Rótulo de ângulo invariante de escala

Rótulo de ângulo invariante de escala
Elipse com unidades

Elipse com unidades

Elipse com unidades