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