python 如何使用matplotlib绘制花瓣?

2025-04-19 01:04:07

1、首先,先写上我们需要的公式:

python 如何使用matplotlib绘制花瓣?

2、接着,引入我们需要的模块:

python 如何使用matplotlib绘制花瓣?

3、接着,创建笛卡尔坐标系:

python 如何使用matplotlib绘制花瓣?

4、执行上述代码,我们得到一个笛卡尔坐标系:

python 如何使用matplotlib绘制花瓣?

5、然后,根据第一步的公式,生成数据:

python 如何使用matplotlib绘制花瓣?

6、执行上述代码,得到4个花瓣的花瓣图(n=2):

python 如何使用matplotlib绘制花瓣?

7、设置n=4,得到8个花瓣的花瓣图:

python 如何使用matplotlib绘制花瓣?

8、设置n=6,得到12个花瓣的花瓣图:

python 如何使用matplotlib绘制花瓣?

9、设置n=3,得到3个花瓣的花瓣图:

python 如何使用matplotlib绘制花瓣?

10、设置n=5,得到5个花瓣的花瓣图:

python 如何使用matplotlib绘制花瓣?

11、由此我们得到的结论是,n为奇数时,花瓣为n;为偶数时,花瓣为n的2倍。所使用的源码:import numpy as npimport matplotlib.pyplot as pltfig = plt.figure(figsize=(8,8))plt.ylim([-2*np.pi, 2*np.pi])plt.xlim([-2*np.pi, 2*np.pi])ax = plt.gca()ax.spines['right'].set_color('none')ax.spines['top'].set_color('none')ax.xaxis.set_ticks_position('bottom')ax.spines['bottom'].set_position(('data', 0))ax.yaxis.set_ticks_position('left')ax.spines['left'].set_position(('data', 0))a = np.arange(-np.pi, np.pi, np.pi / 1000)n = 5x = np.cos(n*a) * np.cos(a)y = np.cos(n*a) * np.sin(a)plt.plot(x,y)plt.fill_between(x, y, color='y')plt.show()

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢