Maison > développement back-end > Tutoriel Python > Comment créer un graphique linéaire tridimensionnel à l'aide de Python et Matplotlib

Comment créer un graphique linéaire tridimensionnel à l'aide de Python et Matplotlib

WBOY
Libérer: 2023-04-22 13:19:08
avant
2060 Les gens l'ont consulté

1.0 Introduction

La technologie d'image tridimensionnelle est l'une des technologies d'affichage informatique les plus avancées au monde. Tout ordinateur ordinaire n'a besoin que d'installer un plug-in pour présenter des produits en trois dimensions dans un navigateur Web. , mais peut également afficher dynamiquement les produits. Le processus de combinaison est particulièrement adapté à la navigation à distance.

L'image tridimensionnelle est visuellement superposée et colorée, et a un fort impact visuel, permettant aux spectateurs de rester longtemps dans la scène et de laisser une profonde impression. Les images tridimensionnelles donnent aux gens une sensation réelle et réaliste, les personnages sont prêts à être vus et ils ont une sensation immersive, qui a une grande valeur d'appréciation artistique.

2.0 Méthodes et types de dessin 3D

Tout d'abord, vous devez installer la bibliothèque Matplotlib Vous pouvez utiliser pip :

pip install matplotlib
Copier après la connexion

On suppose que le package d'outils matplotlib a été installé.

Utilisez matplotlib.figure.Figure pour créer un cadre de tracé :

import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
Copier après la connexion

Comment créer un graphique linéaire tridimensionnel à laide de Python et Matplotlib

1. Traceurs linéaires

Utilisation de base : ax.plot(x,y,z,label=' ')

Code Comme suit :

import matplotlib as mpl
from mpl_toolkits.mplot3d import Axes3D
import numpy as np
import matplotlib.pyplot as plt
 
mpl.rcParams['legend.fontsize'] = 10
 
fig = plt.figure()
ax = fig.add_subplot(projection='3d')
theta = np.linspace(-4 * np.pi, 4 * np.pi, 100)
z = np.linspace(-2, 2, 100)
r = z ** 2 + 1
x = r * np.sin(theta)
y = r * np.cos(theta)
ax.plot(x, y, z, label='parametric curve')
ax.legend()
Copier après la connexion

L'effet est le suivant :

Comment créer un graphique linéaire tridimensionnel à laide de Python et Matplotlib

2. Nuages ​​de points (nuages ​​de points)

Syntaxe de base :

ax.scatter(xs, ys, zs, s=20, c=None, deepshade= C'est vrai, *args, *kwargs)

Le code est à peu près le suivant :

  • xs,ys,zs : données d'entrée

  • s : taille du point de dispersion

  • c : couleur, telle que as c = ' r’ est rouge;

  • deepshase: transparent, True est transparent, la valeur par défaut est True, False est opaque

  • *args, etc. sont des variables d'expansion, telles que maker = «o’ , alors le résultat de dispersion est la forme o‘ *kwargs

Exemple de code :

from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import numpy as np
 
 
def randrange(n, vmin, vmax):
    '''
    Helper function to make an array of random numbers having shape (n, )
    with each number distributed Uniform(vmin, vmax).
    '''
    return (vmax - vmin)*np.random.rand(n) + vmin
 
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
 
n = 100
 
# For each set of style and range settings, plot n random points in the box
# defined by x in [23, 32], y in [0, 100], z in [zlow, zhigh].
for c, m, zlow, zhigh in [('r', 'o', -50, -25), ('b', '^', -30, -5)]:
    xs = randrange(n, 23, 32)
    ys = randrange(n, 0, 100)
    zs = randrange(n, zlow, zhigh)
    ax.scatter(xs, ys, zs, c=c, marker=m)
 
ax.set_xlabel('X Label')
ax.set_ylabel('Y Label')
ax.set_zlabel('Z Label')
 
plt.show()
Copier après la connexion
Comment créer un graphique linéaire tridimensionnel à laide de Python et Matplotlib

4. Tracés tri-surface

Utilisation de base : ax.plot_trisurf(*args, **kwargs)
  • ax.plot_trisurf( *arguments, * *kwargs)

  • Définition de la fonction :

  • #Définition de la fonction
  • matplotlib.pyplot.scatter(x, y,

    s=Aucun, #Tableau de taille de dispersion scalaire

    c=Aucun, #Tableau de séquences de couleurs, séquence
  • marker=Aucun, #Point style
  • cmap=Aucun, #colormap color style

    norm=Aucun, #Normalisation Camp de couleurs normalisé

    vmin=Aucun, vmax=Aucun, #Correspondant à la plage normalisée ci-dessus
  • alpha=Aucun, #Transparence
  • linewidths=Aucun, #linewidth

    verts=Aucun, #

    edgecolors=Aucun, #edgecolor
  • data=Aucun,
**kwargs

)

Comment créer un graphique linéaire tridimensionnel à laide de Python et MatplotlibExemple de code :

from mpl_toolkits.mplot3d import axes3d
import matplotlib.pyplot as plt
 
 
fig = plt.figure()
ax = fig.add_subplot(100, projection='3d')
 
# Grab some test data.
X, Y, Z = axes3d.get_test_data(0.12)
 
# Plot a basic wireframe.
ax.plot_wireframe(X, Y, Z, rstride=10, cstride=10)
 
plt.show()
Copier après la connexion

Effet :

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:yisu.com
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