Conseils révélés : dessinez de superbes graphiques 3D avec Python

王林
Libérer: 2023-09-28 13:01:50
original
1125 Les gens l'ont consulté

Conseils révélés : dessinez de superbes graphiques 3D avec Python

Conseils révélés : utilisez Python pour dessiner de magnifiques graphiques 3D

Introduction :
Dans le domaine de la visualisation de données, la création de magnifiques graphiques 3D peut afficher de manière plus intuitive les caractéristiques et les tendances des données. Python, en tant que langage de programmation puissant, dispose de nombreuses bibliothèques et outils qui peuvent nous aider à atteindre cet objectif. Cet article partagera quelques conseils et exemples de code spécifiques pour dessiner de magnifiques graphiques 3D en Python afin d'aider les lecteurs à mieux les comprendre et les appliquer.

1. Préparation :
Avant de commencer, nous devons installer plusieurs bibliothèques Python nécessaires, notamment matplotlib, numpy et mpl_toolkits.mplot3d. Vous pouvez l'installer via le code suivant :

pip install matplotlib

pip install numpy

pip install mpl_toolkits.mplot3d
Copier après la connexion

2. Dessinez un simple nuage de points 3D :
Tout d'abord, dessinons un simple nuage de points 3D. Le code est le suivant :

import matplotlib.pyplot as plt
import numpy as np

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

x = np.random.standard_normal(100)
y = np.random.standard_normal(100)
z = np.random.standard_normal(100)

ax.scatter(x, y, z)

plt.show()
Copier après la connexion

Dans cet exemple, nous créons d'abord un objet Figure et un objet Axes3D, et ajoutons l'objet Axes3D est ajouté à la Figure. Ensuite, nous générons 100 nombres aléatoires obéissant à la distribution normale standard sous forme de coordonnées x, y, z, et utilisons la méthode scatter pour dessiner un nuage de points sur le système de coordonnées 3D. Figure对象和一个Axes3D对象,并通过add_subplot方法将Axes3D对象添加到Figure中。然后,我们生成100个服从标准正态分布的随机数作为x、y、z坐标,并使用scatter方法在3D坐标系上绘制散点图。

三、绘制3D曲面图:
接下来,我们尝试绘制一个3D曲面图。代码如下:

import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.mplot3d import Axes3D

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

x = np.linspace(-5, 5, 100)
y = np.linspace(-5, 5, 100)

X, Y = np.meshgrid(x, y)
Z = np.sin(np.sqrt(X**2 + Y**2))

ax.plot_surface(X, Y, Z, cmap='viridis')

plt.show()
Copier après la connexion

在这个示例中,我们首先生成了x和y坐标的一维数组,并利用meshgrid方法生成了一个网格,然后根据公式计算了z坐标的值。最后,使用plot_surface方法绘制了3D曲面图。

四、绘制3D柱状图:
除了散点图和曲面图,我们还可以绘制3D柱状图来展示数据的分布情况。代码如下:

import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.mplot3d import Axes3D

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

x = np.arange(10)
y = np.arange(10)
X, Y = np.meshgrid(x, y)
Z = np.random.randint(1, 10, (10, 10))

ax.bar3d(X.flatten(), Y.flatten(), np.zeros_like(Z).flatten(), 1, 1, Z.flatten())

plt.show()
Copier après la connexion

在这个示例中,我们首先生成了x和y坐标的一维数组,并利用meshgrid方法生成了一个网格,然后利用random.randint方法生成了一个10x10的随机整数数组作为z坐标的值。最后,使用bar3d

3. Dessinez un graphique de surface 3D :

Ensuite, nous essayons de dessiner un graphique de surface 3D. Le code est le suivant :
rrreee

Dans cet exemple, nous avons d'abord généré un tableau unidimensionnel de coordonnées x et y, et utilisé la méthode meshgrid pour générer une grille, puis calculé la valeur de la coordonnée z selon la formule . Enfin, le tracé de la surface 3D a été dessiné à l'aide de la méthode plot_surface. 🎜🎜4. Dessiner un histogramme 3D : 🎜En plus des nuages ​​de points et des diagrammes de surface, nous pouvons également dessiner des histogrammes 3D pour montrer la distribution des données. Le code est le suivant : 🎜rrreee🎜Dans cet exemple, nous générons d'abord un tableau unidimensionnel de coordonnées x et y, et utilisons la méthode meshgrid pour générer une grille, puis utilisons random.randint génère un tableau 10x10 d'entiers aléatoires comme valeur de la coordonnée z. Enfin, un histogramme 3D est dessiné à l'aide de la méthode <code>bar3d. 🎜🎜Conclusion : 🎜Grâce au partage de cet article, nous avons appris quelques techniques et exemples de code spécifiques pour dessiner de magnifiques graphiques 3D en Python, notamment le dessin de nuages ​​de points, de tracés de surface et d'histogrammes. Ces techniques peuvent nous aider à mieux afficher les caractéristiques et les tendances des données et à améliorer l'effet de la visualisation des données. Nous espérons que les lecteurs pourront mieux maîtriser ces compétences grâce à l'apprentissage et à la pratique, et les utiliser de manière flexible dans des projets réels. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!