520用Python畫一顆特別的?送給她
來自專欄 Python與數據分析
今天520,大家有沒有和心愛的女生在一起呢?
今天我們來用Python畫一顆特別的愛心,送給那個特別的她,給她一份浪漫的驚喜吧~
還記得那個心形曲線的公式嗎?
我們用Python基於上面的公式來畫一畫愛心吧~
準備工作
代碼中用到numpy和matplotlib,需要先安裝這兩個庫
pip3 install numpypip3 install matplotlib
愛心基本款
我們先來畫一顆最樸素的愛心
import numpy as npimport matplotlib.pyplot as pltx_coords = np.linspace(-100, 100, 500)y_coords = np.linspace(-100, 100, 500)points = []for y in y_coords: for x in x_coords: if ((x*0.03)**2+(y*0.03)**2-1)**3-(x*0.03)**2*(y*0.03)**3 <= 0: points.append({"x": x, "y": y})heart_x = list(map(lambda point: point["x"], points))heart_y = list(map(lambda point: point["y"], points))plt.scatter(heart_x, heart_y, s=10, alpha=0.5)plt.show()
運行後上面的代碼會顯示下面的圖
愛心的形狀有了,接下來我們來解鎖高級定製款,給愛心填充不同的顏色。
愛心高級定製款
給愛心填充不同的顏色,只需在上面代碼的scatter函數中指定cmap參數即可,如下
plt.scatter(heart_x, heart_y, s=10, alpha=0.5, c=range(len(heart_x)), cmap=<cmap>)
下面是不同色系的定製款
<cmap="autumn"> 橙色的愛心送給熱情洋溢的她
<cmap="cool"> 紫色的愛心送給優雅寧靜的她
<cmap="magma"> 晚霞般的愛心送給醇厚脫俗的她
<cmap="rainbow"> 彩虹般的愛心送給充滿絢麗幻想的她
<cmap="Reds"> 熾熱的愛心送給熱烈奔放的她
<cmap="spring"> 青春的愛心送給充滿朝氣的她
<cmap="viridis"> 翡翠色的愛心送給平靜柔和的她
<cmap="gist_rainbow"> 五彩繽紛的愛心送給多姿多彩的她
大家是不是學會了呢 ?
最後祝大家520快樂!
本文已更新微信同名公眾號,歡迎掃一掃關注~
推薦閱讀:
※Python 實現 Python 解釋器
※用Python實現機器學習演算法:線性回歸
※Python爬蟲入門—分析Ajax爬取今日頭條美圖
※學習筆記四:改善Python程序的91個建議
※BAT機器學習面試1000題系列(71-75題)