我更擅长于C++,python代码加了注释,如有改进之处请指正!谢谢!
import matplotlib.pyplot as plt
import numpy as np
def draw_virus():
# 创建一个新的图形
fig, ax = plt.subplots()
# 设置坐标轴为相同的比例,使得圆形不会变形
ax.set_aspect('equal')
# 清除默认的x和y轴标签,因为我们不需要它们
ax.axis('off')
# 定义病毒主体(一个大圆)和几个凸起(小圆)
virus_body = plt.Circle((0, 0), 0.5, color='blue', alpha=0.6) # 病毒主体
bump1 = plt.Circle((0.2, 0.3), 0.1, color='red') # 凸起1
bump2 = plt.Circle((-0.2, -0.3), 0.1, color='red') # 凸起2
bump3 = plt.Circle((0.3, -0.2), 0.1, color='red') # 凸起3
bump4 = plt.Circle((-0.3, 0.2), 0.1, color='red') # 凸起4
# 将各个图形添加到图中
ax.add_patch(virus_body)
ax.add_patch(bump1)
ax.add_patch(bump2)
ax.add_patch(bump3)
ax.add_patch(bump4)
# 设置绘图区域以包含所有的圆形
ax.set_xlim(-1, 1)
ax.set_ylim(-1, 1)
# 显示图形
plt.show()
if __name__ == "__main__":
draw_virus()