머리말
Python은 일반적으로 Matplotlib을 사용하여 통계 그래픽을 생성합니다. 말 그대로 '간단한 것을 단순하게 만들고 복잡한 것을 가능하게 만듭니다'. 이를 사용하여 선 차트, 히스토그램, 막대 차트, 분산형 차트, 원형 차트, 스펙트럼 차트 및 예상할 수 있는 기타 통계 그래픽을 다양한 출판 품질 형식으로 내보낼 수 있습니다. 게다가 ipython과 함께 사용하면 정말 편리하다는 점은 써보신 분들은 아실 거예요! 이 기사에서는 Python에서 matplotlib를 사용하여 하트를 그리는 방법을 소개합니다. 관심 있는 친구는 아래를 살펴보세요.
matplotlib 설치
먼저 matplotlib를 설치해야 합니다
pip install matplotlib
Windows 사용자는 다음으로 이동하세요. 공식 웹사이트에서 다운로드하고 설치하세요. 공식 웹사이트에는 matpltlib의 저자인 John Hunter(1968-2012)가 막 세상을 떠난 것으로 나타났습니다. 이렇게 강력한 그리기 도구를 만들어준 그에게 감사의 말씀을 전하고 싶습니다.
코드
#!/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)
요약
위 내용은 이 글의 전체 내용입니다. If를 배우거나 사용하는 모든 사람에게 이 글의 내용이 도움이 되기를 바랍니다. 궁금한 점이 있으면 메시지를 남겨서 소통할 수 있습니다.
파이썬을 활용한 하트 그리는 방법과 관련 글을 더 보려면 PHP 중국어 홈페이지를 주목해주세요!