Maison  >  Article  >  développement back-end  >  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
WBOYavant
2023-04-22 13:19:081998parcourir

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

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')

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()

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()
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()

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer