用Python刚刚安装好的numpy、matplotlib库给集美画个小心心吧

这篇博客介绍了如何利用numpy和matplotlib库在Python中绘制心形图案。通过调整数学公式,可以改变心形的形状。博主设置了matplotlib的子图边框透明,隐藏了坐标轴,并使用了系统字体解决汉字乱码问题。最后,通过fill函数填充心形使其看起来更完整。代码中还包含了颜色调整的探讨,以期实现3D效果。
摘要由CSDN通过智能技术生成

用numpy、matplotlib库画小心心的记录

问题分析

1、首先我们去淘一个前辈们留下的公式,比如:
在这里插入图片描述
评价比较好看的是:

X = 15sin³(t)
Y = 13cos(t) - 5cos(2t) - 2cos(3t) - 1cos(4t)

其中,加粗参数可以修改,不同数字,不同的形状,有兴趣的可以试试。

2、有了公式我们就可以开始写代码了。要用到numpy、matplotlib两个库,前者提供numpy.linspace()函数,后者提供面板画图。

3、想要单独实现只有心形,没有matplotlib的边框和坐标系,我查了前辈们的资料,要对库里面的subplot.spine进行设置,即将上下左右的框的颜色都设置为none。而不显示坐标系则是将库里的xticks、yticks参数设置为空即可。

4、在心心上面写上汉字,这里我第一次直接写的是:

plt.title(“送给你一个小心心”)

出现的是乱码:
在这里插入图片描述
经过查阅资料,发现要引入字体的,比较好用的是直接让代码引入系统内的字体,并且可以无视ttf文件还是ttc文件,两个都可以用。

5、心心是要满的,光是框框不好看,于是这里就要用到库里的fill来做实心的效果。

6、边写边想到调整一下颜色会不会出现3D的效果呢,这个等我研究一下,如果你们有其他的好的想法,可以一起分享。

代码实现

import matplotlib.pyplot as plt
import numpy as np

# 设置matplotlib的汉字颜色
from matplotlib import font_manager
my_font = font_manager.FontProperties(fname="C:\Windows\Fonts\simsun.ttc")

# 心形图公式
t = np.linspace(-np.pi, np.pi, 256, endpoint=True)
X = 15 * (np.sin(t))**3
Y = 13 * np.cos(t) - 5 * np.cos(2 * t) - 2 * np.cos(3 * t) - np.cos(4 * t)

# 画图准备
plt.plot(X, Y, color='red',linewidth=1) #线条粗细可调节
plt.fill(X, Y, color='red')
plt.title("送给你一个小心心",fontproperties=my_font, fontsize=20)

# 将边界框设置为小透明
ax = plt.subplot(111)
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.spines['bottom'].set_color('none')
ax.spines['left'].set_color('none')

# 将坐标系设置为小透明
plt.xlim(-20, 20)   #设置x的显示区间
plt.xticks([])
plt.yticks([])

# 展示图像
plt.show()

运行结果如下:
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值