matplotlib.parches.Arc #
- clase matplotlib.parches. Arco ( xy , ancho , alto , * , ángulo = 0.0 , theta1 = 0.0 , theta2 = 360.0 , ** kwargs ) [fuente] #
Bases:
Ellipse
Un arco elíptico, es decir, un segmento de una elipse.
Debido a optimizaciones internas, el arco no se puede llenar.
- Parámetros :
- xy (flotante, flotante)
El centro de la elipse.
- flotador ancho
La longitud del eje horizontal.
- flotador de altura
La longitud del eje vertical.
- ángulo de flotación
Rotación de la elipse en grados (en sentido antihorario).
- theta1, theta2 flotante, predeterminado: 0, 360
Ángulos inicial y final del arco en grados. Estos valores son relativos al ángulo , por ejemplo, si el ángulo = 45 y theta1 = 90, el ángulo inicial absoluto es 135. Por defecto , theta1 = 0, theta2 = 360, es decir, una elipse completa. El arco se dibuja en sentido antihorario. Los ángulos mayores o iguales a 360, o menores a 0, son representados por un ángulo equivalente en el rango [0, 360), tomando el valor de entrada mod 360.
- Otros parámetros :
- **
Patch
propiedades de los kwargs La mayoría
Patch
de las propiedades se admiten como argumentos de palabras clave, con la excepción de relleno y color de cara porque no se admite el relleno.Propiedad
Descripción
una función de filtro, que toma una matriz flotante (m, n, 3) y un valor de ppp, y devuelve una matriz (m, n, 3) y dos compensaciones desde la esquina inferior izquierda de la imagen
desconocido
bool
antialiased
o unobooleano o ninguno
CapStyle
o {'trasero', 'proyectando', 'redondo'}bool
Parchear o (Ruta, Transformar) o Ninguno
color
edgecolor
o cecolor o ninguno
facecolor
o FCcolor o ninguno
bool
calle
{'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}
bool
JoinStyle
o {'inglete', 'redondo', 'bisel'}objeto
linestyle
o ls{'-', '--', '-.', ':', '', (desplazamiento, on-off-seq), ...}
linewidth
o bajoflotante o Ninguno
bool
Ninguno o bool o flotante o invocable
bool
(escala: flotante, longitud: flotante, aleatoriedad: flotante)
booleano o ninguno
calle
bool
flotar
- **
- dibujar ( procesador ) [fuente] #
Dibuja el arco al renderizador dado .
notas
Las elipses normalmente se dibujan usando una aproximación que usa ocho splines Bézier cúbicos. El error de esta aproximación es 1.89818e-6, según esta fuente no verificada:
Lancaster, Don. Aproximación de un círculo o una elipse usando cuatro splines cúbicas Bezier.
Hay un caso de uso en el que se deben dibujar elipses muy grandes con una precisión muy alta, y es demasiado costoso renderizar la elipse completa con suficientes segmentos (ya sean splines o segmentos de línea). Por lo tanto, en el caso de que cualquiera de los radios de la elipse sea lo suficientemente grande como para que el error de la aproximación de la spline sea visible (más de un píxel desplazado del ideal), se utiliza una técnica diferente.
En ese caso, solo se dibujan las partes visibles de la elipse, y cada arco visible utiliza un número fijo de segmentos de spline (8). El algoritmo procede como sigue:
Se ubican los puntos donde la elipse se cruza con los ejes (o la figura) del cuadro delimitador. (Esto se hace realizando una transformación inversa en el bbox de modo que sea relativo al círculo unitario; esto hace que el cálculo de la intersección sea mucho más fácil que hacer la intersección de elipse girada directamente).
Esto utiliza el algoritmo de "línea que se cruza con un círculo" de:
Vicente, Juan. Geometría para gráficos por computadora: fórmulas, ejemplos y pruebas. Londres: Springer-Verlag, 2005.
Se calculan los ángulos de cada uno de los puntos de intersección.
Procediendo en sentido contrario a las agujas del reloj comenzando en la dirección x positiva, cada uno de los segmentos de arco visibles entre los pares de vértices se dibuja utilizando la técnica de aproximación de arco de Bezier implementada en
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> , altura=<DESCONFIGURADO> ,in_layout=<DESCONFIGURAR> ,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> ) [fuente] #
Establece varias propiedades a la vez.
Las propiedades admitidas son
Propiedad
Descripción
una función de filtro, que toma una matriz flotante (m, n, 3) y un valor de ppp, y devuelve una matriz (m, n, 3) y dos compensaciones desde la esquina inferior izquierda de la imagen
escalar o ninguno
flotar
bool
antialiased
o unobooleano o ninguno
CapStyle
o {'trasero', 'proyectando', 'redondo'}(flotar, flotar)
bool
Parchear o (Ruta, Transformar) o Ninguno
color
edgecolor
o cecolor o ninguno
facecolor
o FCcolor o ninguno
bool
calle
{'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}
flotar
bool
JoinStyle
o {'inglete', 'redondo', 'bisel'}objeto
linestyle
o ls{'-', '--', '-.', ':', '', (desplazamiento, on-off-seq), ...}
linewidth
o bajoflotante o Ninguno
bool
Ninguno o bool o flotante o invocable
bool
(escala: flotante, longitud: flotante, aleatoriedad: flotante)
booleano o ninguno
calle
bool
flotar
flotar
Ejemplos usando matplotlib.patches.Arc
#
Etiqueta de ángulo invariable de escala