三十四年的食品生产历程

坚持自信、高效、诚信、创新的发展宗旨,锐意进取,不断发展,始终进步。

食品代加工模式,让我们的团队走向全国!

全国客服热线: 0511-86893888

手机官网二维码

微信二维码

CLOSE

中秋节到了送你一个Python做的Crossin牌“月饼”

发布者:乐育体育直播 发布时间:2023-11-28

  这次长假是中秋国庆双节合一,在这里除了祝大家节日快乐之外,我们还需要送上一个“月饼”——当然这个月饼是不能吃的,因为它是用python做的。先给大家看一下效果图。

  画这样一个月饼,其实不需要太多的代码,本例只用了不到50行代码,而且用的是我们大家常常用到的绘图库matplotlib,这对我们大部分人来说是很容易上手的,下面就详细的介绍一下怎么画这样一个月饼。

  看到这里估计很多人懵逼了,代码是不是有点多了?实际上这些弧线都是来自于同一个Arc类,它们的用法都是一样的,只不过部分参数不同,所以我们只要掌握一个,其他的全都会了。这里用arc1来说明一下:

  其中[0, length]是这个Arc弧线的圆心,因为这个Arc类是一个椭圆形的一部分,所以其包含圆心、横轴、纵轴等参数,length变量就是arc1圆心的纵坐标,width=2*r和height=2*r就说明这个椭圆的纵轴和横轴长度相等,其是一个圆,而不是椭圆,变量r就是这一个圆的半径。angle=0就是我们不需要对这个圆进行旋转,theta1=30和theta2=150是指明这个弧线的起始角度和终止角度,这里的角度分别是30度和150度。而ec=orange和linewidth=4分别指边线的颜色和线条宽度,颜色我们设为橙色,宽度为4。而这些弧线所示,在图中笔者标出了arc1、arc5和arc9这3条弧线的位置,所有弧线按照逆时针方向排列。这些位置大同小异,大家只要计算好其各自的位置参数就行,这里就不再赘述了。

  然后我们再画一个圆,这个圆是月饼的主体部分,其圆心和整个月饼的中心是重合的,圆心位置我们选在了坐标原点,代码如下:

  这里变量R就是这一个大圆的半径,边线颜色设置为橙色,表面颜色设为白色。其效果如图3所示。

  接下来我们再画上一些花纹,这些花纹主要由8个扇形组成,其中有4个大的扇形和4个小的扇形,代码如下:

  其中[-2, 2]是这个Wedge所代表的圆的圆心,R-5是其半径,90和180分别代表起始和终止角度,ec、fc和linewidth这些都和前面Arc类的用法相似,这8个扇形的效果图如图4所示。在图中标出了wedge1、wedge2、wedge5和wedge6的位置,所有扇形按照逆时针方向放置。

  最后我们再把“CROSSIN”的名称加上,因为代码不多,所以把剩余所有代码都写在这里:

  是设置整个图形x轴和y轴同比例,for a in art_list: ax.add_patch(a)是把art_list中所有图形加入到画布当中。而plt.text这行代码中,-18和-2.5是这个text的左下角的坐标,fontfamily和fontsize分别是文字的字体和大小,bbox是设置text边框的格式,这些参数也都和前面讲过的很多参数差不多,这里不再赘述。plt.ylim和plt.xlim是设置整个画布的坐标范围。最终效果如图1所示。

  当然我们也能改变图片的颜色,比如设置成蓝色的,如图5所示,这个可完全根据个人爱好而定。

  本例用了不到50行代码就画出了一个月饼,其中还有不少复用的,所以核心只有几个绘图函数,理解起来并不难。你也能自己动手试一试,定制一块你自己的月饼。

  本书从 Python 和 Excel 结合使用的角度讲解处理分析数据的思路、方法与实战应用。不论是希望从事数据分析岗位的学习者,还是其他职业的办公人员,都能够最终靠本书的学习掌握 Python 分析数据的技能。书中创新性地将 ChatGPT 引入到教学当中,用 ChatGPT 答疑并提供实训代码,并介绍了使用 ChatGPT 辅助学习的一些实用技巧,给学习者带来全新的学习方式。

  读者朋友们购买后可在后台联系我,加入读者交流群,Crossin会为你开启陪读模式,解答你在阅读本书时的一切疑问。