首先,我们需要准备好在Python中进行绘图的工具包——matplotlib。安装命令为:
pip3 install matplotlib
接下来,我们可以尝试用matplotlib来绘制一个五角星。代码如下:
import matplotlib.pyplot as plt
import numpy as np
# 设置画布大小
fig = plt.figure(figsize=(3, 3))
# 计算五个顶点的坐标
R = 1
theta = np.arange(0, 2*np.pi+np.pi/5, 2*np.pi/5)
x = R*np.sin(theta)
y = R*np.cos(theta)
# 画出五角星的轮廓线
plt.plot(x, y, '-k', linewidth=2)
# 填充五角星的内部颜色
plt.fill(x, y, 'yellow')
# 显示绘制结果
plt.show()
在这段代码中,我们首先使用numpy计算出五个顶点的坐标,然后使用matplotlib函数plot画出五角星的轮廓线('-k'表示线型为实线且颜色为黑色,linewidth表示线条宽度为2)。接下来,我们使用函数fill填充五角星的内部颜色('yellow'表示颜色为黄色)。最后,使用函数show显示绘制结果。
接下来,我们可以尝试用matplotlib绘制小黄人的图像。代码如下:
import matplotlib.pyplot as plt
import numpy as np
# 设置画布大小
fig = plt.figure(figsize=(3, 3))
# 绘制小黄人的衣服
plt.fill_between([0, 3], [0, 0], [2, 2], color='blue', alpha=0.5)
# 绘制小黄人的脸
plt.gca().add_patch(plt.Circle((1.5, 2.5), 0.8, color='yellow'))
# 绘制小黄人的眼睛
plt.plot([1.0, 1.5], [2.8, 2.8], '-k', linewidth=3)
plt.plot([2.0, 2.5], [2.8, 2.8], '-k', linewidth=3)
plt.gca().add_patch(plt.Circle((1.25, 2.5), 0.15, color='black'))
plt.gca().add_patch(plt.Circle((2.25, 2.5), 0.15, color='black'))
# 绘制小黄人的嘴巴
plt.gca().add_patch(plt.Arc((1.5, 2.0), 0.6, 0.4, angle=-30, theta1=220, theta2=320, color='black'))
# 显示绘制结果
plt.axis('equal')
plt.axis('off')
plt.show()
在这段代码中,我们首先使用函数fill_between绘制小黄人的衣服([0, 3]表示横坐标范围是从0到3,[0, 0]和[2, 2]分别表示上下两个点的纵坐标)。接下来,我们使用函数add_patch绘制小黄人的脸、眼睛和嘴巴(plt.Circle表示绘制圆形,plt.Arc表示绘制椭圆弧,参数含义详见文档)。最后,使用函数axis('equal')和axis('off')来设置坐标轴,控制显示效果,并使用函数show显示绘制结果。
最后,我们可以尝试用matplotlib绘制樱花的图像。代码如下:
import matplotlib.pyplot as plt
import numpy as np
# 随机生成10个樱花的位置
np.random.seed(0)
x = np.random.rand(10) * 6 - 3
y = np.random.rand(10) * 6 - 3
# 绘制樱花的圆圈
plt.scatter(x, y, s=80, c='pink', alpha=0.8)
# 绘制樱花的花瓣
for i in range(len(x)):
r = np.random.rand() * 0.5 + 0.5
theta = np.arange(0, np.pi*2, np.pi/6)
px = x[i] + r * np.sin(theta)
py = y[i] + r * np.cos(theta)
plt.fill(px, py, 'white', alpha=0.7)
# 显示绘制结果
plt.axis('equal')
plt.axis('off')
plt.show()
在这段代码中,我们首先使用numpy生成10个随机位置的樱花,接下来使用函数scatter绘制樱花的圆圈。最后,我们使用循环和函数fill绘制每一个樱花的花瓣(r表示花瓣的半径,theta表示花瓣的角度范围,px和py分别记录花瓣的横纵坐标)。最后,使用函数axis和show来设置坐标轴和显示绘制结果。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python绘制神器五角星+小黄人+樱花 - Python技术站