python画出的那些心
- 2020 年 1 月 7 日
- 筆記
python画出的那些心
数学那么美,我就喜欢python。 (x2+y2−1)3−x2y3=0(x2+y2−1)3−x2y3=0{({x^2} + {y^2} – 1)^3} – {x^2}{y^3} = 0 这个公式就是心形的方程,然后我们用python画出来就行了。
#导入数据计算的包 import numpy as np import matplotlib.pyplot as plt #参数,start,stop,num(点的数量) x_coords=np.linspace(-100,100,1000) y_coords=np.linspace(-100,100,1000) #用于收集各个点的list 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}) #获取x的坐标,map(function, iterable, ...),返回迭代器,这是使用匿名函数(lambda) heart_x=list(map(lambda point:point['x'],points)) #获取y的坐标 heart_y=list(map(lambda point:point['y'],points)) #画图,其中alpha: cmap:画图的颜色 s(size):点的大小 plt.scatter(heart_x, heart_y, s=5, c=range(len(heart_x)), cmap="gist_rainbow") #去掉坐标轴 plt.axis("off") # 显示 plt.show()
可以根据不同的cmap参数画出不同颜色的心行。 情人节之际,送给她吧!
橙色的爱心送给热情洋溢的她:autumn;

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

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

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

还有更多,读者可以尝试自己去操作。 晚霞般的爱心送给醇厚脱俗的她:magma 彩虹般的爱心送给充满绚丽幻想的她:rainbow; 青春的爱心送给充满朝气的她:spring 翡翠色的爱心送给平静柔和的她:viridis;