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:
- centro: El punto central de la cuña.
- r: Radio de la cuña.
- theta1: Primer ángulo de barrido.
- theta2: Segundo ángulo de barrido.
- 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