Gráficos de Vóxeles 3D con Matplotlib

PythonPythonBeginner
Practicar Ahora

This tutorial is from open-source community. Access the source code

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

Este laboratorio lo guiará a través del proceso de creación de un gráfico de voxeles 3D utilizando la biblioteca Matplotlib en Python. Los gráficos de voxeles son útiles para visualizar datos 3D de una manera que es clara y estéticamente agradable. En este laboratorio, utilizaremos la función Axes3D.voxels para crear un gráfico de voxeles de dos cubos y un enlace entre ellos.

Consejos para la MV

Después de que la máquina virtual (VM) haya terminado de iniciar, haga clic en la esquina superior izquierda para cambiar a la pestaña Notebook y acceder a Jupyter Notebook para practicar.

A veces, es posible que deba esperar unos segundos para que Jupyter Notebook termine de cargar. La validación de las operaciones no se puede automatizar debido a las limitaciones de Jupyter Notebook.

Si encuentra problemas durante el aprendizaje, no dude en preguntar a Labby. Proporcione comentarios después de la sesión y resolveremos rápidamente el problema para usted.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/DataScienceandMachineLearningGroup(["Data Science and Machine Learning"]) matplotlib(("Matplotlib")) -.-> matplotlib/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) python(("Python")) -.-> python/FunctionsGroup(["Functions"]) python(("Python")) -.-> python/ModulesandPackagesGroup(["Modules and Packages"]) matplotlib/BasicConceptsGroup -.-> matplotlib/importing_matplotlib("Importing Matplotlib") matplotlib/BasicConceptsGroup -.-> matplotlib/figures_axes("Understanding Figures and Axes") python/DataStructuresGroup -.-> python/lists("Lists") python/DataStructuresGroup -.-> python/tuples("Tuples") python/FunctionsGroup -.-> python/build_in_functions("Build-in Functions") python/ModulesandPackagesGroup -.-> python/importing_modules("Importing Modules") python/DataScienceandMachineLearningGroup -.-> python/numerical_computing("Numerical Computing") python/DataScienceandMachineLearningGroup -.-> python/data_visualization("Data Visualization") subgraph Lab Skills matplotlib/importing_matplotlib -.-> lab-49028{{"Gráficos de Vóxeles 3D con Matplotlib"}} matplotlib/figures_axes -.-> lab-49028{{"Gráficos de Vóxeles 3D con Matplotlib"}} python/lists -.-> lab-49028{{"Gráficos de Vóxeles 3D con Matplotlib"}} python/tuples -.-> lab-49028{{"Gráficos de Vóxeles 3D con Matplotlib"}} python/build_in_functions -.-> lab-49028{{"Gráficos de Vóxeles 3D con Matplotlib"}} python/importing_modules -.-> lab-49028{{"Gráficos de Vóxeles 3D con Matplotlib"}} python/numerical_computing -.-> lab-49028{{"Gráficos de Vóxeles 3D con Matplotlib"}} python/data_visualization -.-> lab-49028{{"Gráficos de Vóxeles 3D con Matplotlib"}} end

Importar bibliotecas necesarias

Primero, necesitamos importar las bibliotecas necesarias. En este caso, utilizaremos Matplotlib y NumPy.

import matplotlib.pyplot as plt
import numpy as np

Preparar coordenadas

A continuación, prepararemos las coordenadas para nuestro gráfico de voxeles. Crearemos una cuadrícula de puntos de 8x8x8 utilizando la función indices de NumPy.

x, y, z = np.indices((8, 8, 8))

Crear los cubos y el enlace

Ahora, crearemos los dos cubos y el enlace entre ellos. Lo haremos definiendo tres matrices booleanas que se combinarán en una única matriz booleana. Las dos primeras matrices definen la ubicación de los cubos, mientras que la tercera matriz define la ubicación del enlace.

cube1 = (x < 3) & (y < 3) & (z < 3)
cube2 = (x >= 5) & (y >= 5) & (z >= 5)
link = abs(x - y) + abs(y - z) + abs(z - x) <= 2

voxelarray = cube1 | cube2 | link

Establecer colores

Ahora estableceremos los colores para cada objeto en el gráfico de voxeles. Lo haremos creando una matriz vacía del mismo tamaño que la matriz booleana que creamos en el Paso 3, y luego estableciendo el color de cada objeto según su ubicación.

colors = np.empty(voxelarray.shape, dtype=object)
colors[link] = 'red'
colors[cube1] = 'blue'
colors[cube2] = 'green'

Graficar la matriz de voxeles

Finalmente, podemos utilizar la función Axes3D.voxels para graficar la matriz de voxeles con los colores especificados.

ax = plt.figure().add_subplot(projection='3d')
ax.voxels(voxelarray, facecolors=colors, edgecolor='k')

plt.show()

Resumen

En este laboratorio, aprendimos cómo crear un gráfico de voxeles 3D utilizando la biblioteca Matplotlib en Python. Preparamos las coordenadas para el gráfico, creamos los cubos y el enlace, establecimos los colores para cada objeto y graficamos la matriz de voxeles utilizando la función Axes3D.voxels. Los gráficos de voxeles son una forma útil de visualizar datos 3D, y Matplotlib facilita su creación.