利用python畫(huà)一顆心的方法示例
前言
Python一般使用Matplotlib制作統(tǒng)計(jì)圖形,用它自己的說(shuō)法是‘讓簡(jiǎn)單的事情簡(jiǎn)單,讓復(fù)雜的事情變得可能'。用它可以制作折線圖,直方圖,條形圖,散點(diǎn)圖,餅圖,譜圖等等你能想到的和想不到的統(tǒng)計(jì)圖形,這些圖形可以導(dǎo)出為多種具有出版質(zhì)量的格式。此外,它和ipython結(jié)合使用,確實(shí)方便,誰(shuí)用誰(shuí)知道!本文將介紹利用python中的matplotlib畫(huà)一顆心,感興趣的朋友們下面來(lái)一起看看吧。
安裝matplotlib
首先要安裝matplotlib
pip install matplotlib
windows用戶可以去官網(wǎng)下載安裝。官網(wǎng)看到matpltlib的作者John Hunter (1968-2012)剛?cè)ナ啦痪?,在此感謝他創(chuàng)造了這樣一個(gè)強(qiáng)大的繪圖工具。
上代碼
#!/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)
效果是這個(gè)樣子,挺有意思的:

總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家學(xué)習(xí)或者使用python能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流。
- 使用Python編寫(xiě)簡(jiǎn)單的畫(huà)圖板程序的示例教程
- python使用reportlab畫(huà)圖示例(含中文漢字)
- Python實(shí)現(xiàn)在matplotlib中兩個(gè)坐標(biāo)軸之間畫(huà)一條直線光標(biāo)的方法
- python計(jì)算圓周長(zhǎng)、面積、球體體積并畫(huà)出圓
- Python使用turtule畫(huà)五角星的方法
- Python畫(huà)圖學(xué)習(xí)入門(mén)教程
- 跟老齊學(xué)Python之畫(huà)圈還不簡(jiǎn)單嗎?
- Python學(xué)習(xí)之用pygal畫(huà)世界地圖實(shí)例
- Python3使用PyQt5制作簡(jiǎn)單的畫(huà)板/手寫(xiě)板實(shí)例
- 教你使用python畫(huà)一朵花送女朋友
相關(guān)文章
python神經(jīng)網(wǎng)絡(luò)Batch?Normalization底層原理詳解
這篇文章主要為大家介紹了python神經(jīng)網(wǎng)絡(luò)Batch?Normalization底層原理詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05
python生成xml時(shí)規(guī)定dtd實(shí)例方法
在本篇文章里小編給大家整理的是關(guān)于python生成xml時(shí)規(guī)定dtd實(shí)例方法,需要的朋友們學(xué)習(xí)參考下。2020-09-09
一文詳解凱撒密碼的原理及Python實(shí)現(xiàn)
凱撒密碼是古羅馬愷撒大帝用來(lái)對(duì)軍事情報(bào)進(jìn)行加密的算法,它采用了替換方法對(duì)信息中的每一個(gè)英文字符循環(huán)替換為字母表序列該字符后面第三個(gè)字符。本文主要為大家講解了凱撒密碼的原理及實(shí)現(xiàn),需要的可以參考一下2022-08-08
Python機(jī)器學(xué)習(xí)算法之k均值聚類(k-means)
這篇文章主要為大家詳細(xì)介紹了Python機(jī)器學(xué)習(xí)算法之k均值聚類,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-02-02
基于python3抓取pinpoint應(yīng)用信息入庫(kù)
這篇文章主要介紹了基于python3抓取pinpoint應(yīng)用信息入庫(kù),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-01-01

