520用Python画一颗特别的♥送给她

今天520,大家有没有和心爱的女生在一起呢?

今天我们来用Python画一颗特别的爱心,送给那个特别的她,给她一份浪漫的惊喜吧~

还记得那个心形曲线的公式吗?

我们用Python基于上面的公式来画一画爱心吧~

准备工作

代码中用到numpy和matplotlib,需要先安装这两个库

pip3 install numpy
pip3 install matplotlib

爱心基本款

我们先来画一颗最朴素的爱心

import numpy as np
import matplotlib.pyplot as plt

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

下面是不同色系的定制款

橙色的爱心送给热情洋溢的她

紫色的爱心送给优雅宁静的她

晚霞般的爱心送给醇厚脱俗的她

彩虹般的爱心送给充满绚丽幻想的她

炽热的爱心送给热烈奔放的她

青春的爱心送给充满朝气的她

翡翠色的爱心送给平静柔和的她

五彩缤纷的爱心送给多姿多彩的她

大家是不是学会了呢 ?

最后祝大家520快乐!