Maison > développement back-end > Tutoriel Python > Exemple de comment dessiner un cœur en utilisant python

Exemple de comment dessiner un cœur en utilisant python

高洛峰
Libérer: 2017-02-03 16:02:46
original
1947 Les gens l'ont consulté

Avant-propos

Python utilise généralement Matplotlib pour produire des graphiques statistiques. Selon ses propres termes, il « rend les choses simples simples et rend les choses complexes possibles ». Vous pouvez l'utiliser pour créer des graphiques linéaires, des histogrammes, des graphiques à barres, des graphiques à nuages ​​de points, des diagrammes circulaires, des graphiques de spectre et d'autres graphiques statistiques auxquels vous pouvez penser et inattendus. Ces graphiques peuvent être exportés vers une variété de formats de qualité publication. De plus, il est vraiment pratique de l'utiliser en combinaison avec ipython. Tous ceux qui l'utilisent le savent ! Cet article présentera l'utilisation de matplotlib en python pour dessiner un cœur. Les amis intéressés peuvent jeter un œil ci-dessous.

Installer matplotlib

Tout d'abord, vous devez installer matplotlib

pip install matplotlib

Les utilisateurs Windows peuvent accéder à le site officiel pour télécharger et installer. Le site officiel a appris que l'auteur de matpltlib, John Hunter (1968-2012), venait de décéder. Je tiens à le remercier d'avoir créé un outil de dessin aussi puissant.

Code

#!/usr/bin/env python3
from mpl_toolkits.mplot3d import Axes3D
from matplotlib import cm
from matplotlib.ticker import LinearLocator, FormatStrFormatter
import matplotlib.pyplot as plt
import numpy as np
 
 
def heart_3d(x,y,z):
 return (x**2+(9/4)*y**2+z**2-1)**3-x**2*z**3-(9/80)*y**2*z**3
 
 
def plot_implicit(fn, bbox=(-1.5, 1.5)):
 ''' create a plot of an implicit function
 fn ...implicit function (plot where fn==0)
 bbox ..the x,y,and z limits of plotted interval'''
 xmin, xmax, ymin, ymax, zmin, zmax = bbox*3
 fig = plt.figure()
 ax = fig.add_subplot(111, projection='3d')
 A = np.linspace(xmin, xmax, 100) # resolution of the contour
 B = np.linspace(xmin, xmax, 40) # number of slices
 A1, A2 = np.meshgrid(A, A) # grid on which the contour is plotted
 
 for z in B: # plot contours in the XY plane
  X, Y = A1, A2
  Z = fn(X, Y, z)
  cset = ax.contour(X, Y, Z+z, [z], zdir='z', colors=('r',))
  # [z] defines the only level to plot
  # for this contour for this value of z
 
 for y in B: # plot contours in the XZ plane
  X, Z = A1, A2
  Y = fn(X, y, Z)
  cset = ax.contour(X, Y+y, Z, [y], zdir='y', colors=('red',))
 
 for x in B: # plot contours in the YZ plane
  Y, Z = A1, A2
  X = fn(x, Y, Z)
  cset = ax.contour(X+x, Y, Z, [x], zdir='x',colors=('red',))
 
 # must set plot limits because the contour will likely extend
 # way beyond the displayed level. Otherwise matplotlib extends the plot limits
 # to encompass all values in the contour.
 ax.set_zlim3d(zmin, zmax)
 ax.set_xlim3d(xmin, xmax)
 ax.set_ylim3d(ymin, ymax)
 
 plt.show()
 
if __name__ == '__main__':
 plot_implicit(heart_3d)
Copier après la connexion

Résumé

Ce qui précède est l'intégralité du contenu de cet article. J'espère que le contenu de cet article pourra être utile à tout le monde dans l'apprentissage ou l'utilisation de Python. . , si vous avez des questions, vous pouvez laisser un message pour communiquer.

Pour plus d'exemples sur la façon de dessiner un cœur en utilisant Python et des articles connexes, veuillez faire attention au site Web PHP 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