Clase Matplotlib.patches.RegularPolygon 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.parches.RegularPolygon

La clase matplotlib.patches.RegularPolygon se usa para agregar un parche de polígono regular.

Sintaxis: class matplotlib.patches.RegularPolygon(xy, numVertices, radio=5, orientación=0, **kwargs)
Parámetros:  

  • xy: Una tupla de longitud 2 (x, y) del centro.
     
  • numVertices: Representa el número de vértices.
     
  • radio: La distancia del centro a cada uno de los vértices.
     
  • orientación: Se utiliza para rotar el polígono (en radianes). 

La siguiente tabla tiene una lista de kwargs válidos; 

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 matplotlib.pyplot as plt
from matplotlib.patches import RegularPolygon
import numpy as np
 
 
coord = [[0, 0, 0],
         [0, 1, -1],
         [-1, 1, 0],
         [-1, 0, 1],
         [0, -1, 1],
         [1, -1, 0],
         [1, 0, -1]]
 
colors = [["Green"],
          ["Green"],
          ["Green"],
          ["Green"],
          ["Green"],
          ["Green"],
          ["Green"]]
 
labels = [['1'], ['2'],
          ['3'], ['4'],
          ['5'], ['6'],
          ['7']]
 
# Horizontal cartesian coords
hcoord = for c in coord]
 
# Vertical cartersian coords
vcoord = [2. * np.sin(np.radians(60)) * (c[1] - c[2]) /3.
          for c in coord]
 
fig, ax = plt.subplots(1)
ax.set_aspect('equal')
 
# Add some coloured hexagons
for x, y, c, l in zip(hcoord, vcoord, colors, labels):
     
    # matplotlib understands lower
    # case words for colours
    color = c[0].lower()
    hex = RegularPolygon((x, y),
                         numVertices = 6,
                         radius = 2. / 3.,
                         orientation = np.radians(30),
                         facecolor = color,
                         alpha = 0.2,
                         edgecolor ='k')
     
    ax.add_patch(hex)
     
    # Also add a text label
    ax.text(x, y + 0.2, l[0], ha ='center',
            va ='center', size = 20)
 
# add scatter points in hexagon centers
ax.scatter(hcoord, vcoord, c =.lower()
                               for c in colors],
           alpha = 0.5)
 
plt.show()

Producción: 

Ejemplo 2: 

Python3

import matplotlib.pyplot as plt
from matplotlib.patches import RegularPolygon
from matplotlib.collections import PatchCollection
import numpy as np
 
 
xy = np.random.random((10, 2))
z = np.random.random(10)
 
patches = [RegularPolygon((x, y),
                          5, 0.1)
           for x, y in xy]
 
collection = PatchCollection(patches,
                             array = z,
                             edgecolors ='brown',
                             lw = 2)
 
fig, ax = plt.subplots()
 
ax.patch.set(facecolor ='green')
ax.add_collection(collection)
ax.autoscale()
 
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 *