Heim >Backend-Entwicklung >Python-Tutorial >Beispiel für das Zeichnen eines Herzens mit Python
Vorwort
Python verwendet im Allgemeinen Matplotlib, um statistische Grafiken zu erstellen. In seinen eigenen Worten macht es „einfache Dinge einfach und macht komplexe Dinge möglich“. Sie können damit Liniendiagramme, Histogramme, Balkendiagramme, Streudiagramme, Kreisdiagramme, Spektrumdiagramme und andere statistische Grafiken erstellen, die Sie sich vorstellen können und die Sie nicht erwarten können. Diese Grafiken können in eine Vielzahl von Formaten in Publikationsqualität exportiert werden. Darüber hinaus ist es sehr praktisch, es in Kombination mit ipython zu verwenden. Jeder, der es verwendet, weiß es! In diesem Artikel wird die Verwendung von Matplotlib in Python zum Zeichnen eines Herzens vorgestellt. Interessierte Freunde können einen Blick darauf werfen.
Matplotlib installieren
Zuerst müssen Sie Matplotlib installieren
pip install matplotlib
Windows-Benutzer können zu gehen die offizielle Website zum Herunterladen und Installieren. Auf der offiziellen Website wurde festgestellt, dass der Autor von matpltlib, John Hunter (1968-2012), gerade verstorben ist. Ich möchte ihm für die Entwicklung eines so leistungsstarken Zeichenwerkzeugs danken.
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)
Zusammenfassung
Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels für jeden beim Erlernen oder Verwenden von Python hilfreich sein kann . Wenn Sie Fragen haben, können Sie eine Nachricht hinterlassen.
Weitere Beispiele für die Verwendung von Python zum Zeichnen eines Herzens und verwandte Artikel finden Sie auf der chinesischen PHP-Website!