Clase Matplotlib.patches.Wedge en Python

Matplotlib es una increíble biblioteca de visualización en Python para gráficos 2D de arrays. Matplotlib es una biblioteca de visualización de datos multiplataforma basada en arrays NumPy y diseñada para funcionar con la pila SciPy más amplia. 
 

matplotlib.patches.Wedge

La clase matplotlib.patches.Wedge se usa para agregar parches en forma de cuña en el gráfico. La cuña está centrada en xy = (x, y) con un radio r y barre theta1 a theta2 (en grados). La cuña parcial se dibuja desde el radio interior r – ancho hasta el radio exterior r si se da el ancho.
 

Sintaxis: class matplotlib.patches.Wedge(center, r, theta1, theta2, width=None, **kwargs)
Parámetros: 
 

  1. centro: El punto central de la cuña.
     
  2. r: Radio de la cuña.
     
  3. theta1: Primer ángulo de barrido.
     
  4. theta2: Segundo ángulo de barrido.
     
  5. ancho: Ancho del barrido
     

Los atributos de los kwargs se dan en la siguiente tabla: 
 

PROPIEDAD DESCRIPCIÓN
filtro_agg una función de filtro que toma una array flotante (m, n, 3) y un valor de ppp que devuelve una array (m, n, 3)
alfa flotante o Ninguno
animado bool
suavizado o aa desconocido
capstyle {‘trasero’, ‘redondo’, ‘proyectado’}
clip_box Bbox
clip_en bool
clip_path [(Ruta, Transformar)|Parche|Ninguno]
color color o secuencia de tuplas rgba
contiene invocable
edgecolor o ec o edgecolors color o Ninguno o ‘auto’
color de cara o fc o colores de cara color o ninguno
figura figura
llenar bool
Gid calle
escotilla {‘/’, ‘\’, ‘|’, ‘-‘, ‘+’, ‘x’, ‘o’, ‘O’, ‘.’, ‘*’}
en_diseño bool
estilo de unión {‘inglete’, ‘redondo’, ‘bisel’}
estilo de línea o ls {‘-‘, ‘–’, ‘-.’, ‘:’, ”, (desplazamiento, on-off-seq), …}
ancho de línea o anchos de línea o lw flotante o Ninguno
efectos_ruta ResumenRutaEfecto
recogedor Ninguno o bool o flotante o invocable
efectos_ruta ResumenRutaEfecto
recogedor flotante o invocable[[Artista, Evento], Tuple[bool, dict]]
rasterizado booleano o ninguno
sketch_params (escala: flotante, longitud: flotante, aleatoriedad: flotante)
siesta booleano o ninguno
transformar matplotlib.transforms.Transformar
URL calle
visible bool
orden Z flotar

Ejemplo 1: 
 

Python3

import numpy as np
from matplotlib.patches import Circle, Wedge, Polygon
from matplotlib.collections import PatchCollection
import matplotlib.pyplot as plt
 
 
# Fixing random state for reproducibility
np.random.seed(19680801)
 
fig, ax = plt.subplots()
 
resolution = 50  # the number of vertices
N = 3
x = np.random.rand(N)
y = np.random.rand(N)
radii = 0.1 * np.random.rand(N)
patches = []
 
for x1, y1, r in zip(x, y, radii):
    circle = Circle((x1, y1), r)
    patches.append(circle)
 
x = np.random.rand(N)
y = np.random.rand(N)
radii = 0.1 * np.random.rand(N)
theta1 = 360.0 * np.random.rand(N)
theta2 = 360.0 * np.random.rand(N)
 
for x1, y1, r, t1, t2 in zip(x, y, radii,
                             theta1, theta2):
    wedge = Wedge((x1, y1), r, t1, t2)
    patches.append(wedge)
 
# Some limiting conditions on Wedge
patches += [
    Wedge((.3, .7), .1, 0, 360),             # Full circle
    Wedge((.7, .8), .2, 0, 360, width = 0.05),  # Full ring
    Wedge((.8, .3), .2, 0, 45),              # Full sector
    Wedge((.8, .3), .2, 45, 90, width = 0.10),  # Ring sector
]
 
for i in range(N):
    polygon = Polygon(np.random.rand(N, 2), True)
    patches.append(polygon)
 
colors = 100 * np.random.rand(len(patches))
p = PatchCollection(patches, alpha = 0.4)
p.set_array(np.array(colors))
ax.add_collection(p)
fig.colorbar(p, ax = ax)
 
plt.show()

Producción: 
 

Ejemplo 2: 
 

Python3

import numpy as np
import matplotlib.pyplot as plt
 
 
fig, ax = plt.subplots(figsize =(6, 3),
                       subplot_kw = dict(aspect ="equal"))
 
recipe = ["375 g flour",
          "75 g sugar",
          "250 g butter",
          "300 g berries"]
 
data = [float(x.split()[0]) for x in recipe]
ingredients = [x.split()[-1] for x in recipe]
 
 
def func(pct, allvals):
    absolute = int(pct / 100.*np.sum(allvals))
     
    return "{:.1f}%\n({:d} g)".format(pct, absolute)
 
 
wedges, texts, autotexts = ax.pie(data,
                                  autopct = lambda pct: func(pct, data),
                                  textprops = dict(color ="w"))
 
ax.legend(wedges, ingredients,
          title ="Ingredients",
          loc ="center left",
          bbox_to_anchor =(1, 0, 0.5, 1))
 
plt.setp(autotexts, size = 8, weight ="bold")
 
ax.set_title("Recipe for a pie")
 
plt.show()

Producción: 
 

Publicación traducida automáticamente

Artículo escrito por RajuKumar19 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *