用python画两座小山_开学季,教你用Python画大学教室座位神分区图!网友直呼“中枪”...

6d81800a19d8bc3e433bc9b5c566dc1aa9d34594.jpeg?token=fddce29084f09ff275171dd2c3358c4d&s=629B15C7423231943C00952A03006001

我们上过大学的朋友们都知道,大学没有固定教室也没有固定的座位,所以大家可以随便找个自己喜欢的位置坐下。

别看这些不起眼的座位,感觉没什么差别。其实,它们可是隐藏着许多小秘密的哦~虽然这些座位,没有什么差别,但是他们可以反映出你在学校里面属于学霸还是学渣,一目了然。

网上曾有这样一张神奇的教室座位分区图,网友直呼“中枪”!

024f78f0f736afc3d8bb9f55fbf491c0b64512b8.jpeg?token=37d254791afa16091b2d13060e754776&s=1621D601545B3BC847897D0C030080C2

从“神座位表”中可以看到,一间教室被划分成了“学霸区”、“妹纸区”、“考神区”、“女神区”、“睡神区”、“LOL队友区”和“深藏功与名”等十个不同的区域。

一贯作风!就用Python给大家画这幅有趣的神分区图,看看是不是跟你的情况一样呢?

基本思路:我们将画布分成若干子画布,这些子画布构成绘图区域,在这些绘图区域上分别绘制图形,这就让我们想到函数subplot2grid()的使用方法。

plt.subplot2grid(shape, loc, rowspan=1, colspan=1, fig=None, **kwargs)

通过使用subplot2grid()函数的rowspan 和colspan 参数可以让子区跨越固定的网格布局的多个行和列,实现不同的子区布局。

值得注意的是,图形位置的索引起点是从0 开始算起的,而不是像子区函数subplot()中的图形位置是从1 开始算起的。

比如我们要画一张讲堂图片,区域大小为(3,3),起始位置为(0,0),跨区域只在行方向延伸3,详情代码如下:

import matplotlib.pyplot as pltimport matplotlib as mpl mpl.rcParams["font.sans-serif"]=["SimHei"] mpl.rcParams["axes.unicode_minus"]=False plt.subplot2grid((3,3),(0,0),colspan=3)plt.text(0.5,0.5,"讲堂",ha="center",fontsize=25)plt.subplot2grid((3,3),(1,1),colspan=1)plt.text(0.5,0.5,"学霸区",ha="center",fontsize=20)结果图如下:

4ec2d5628535e5dd0c3b4d59302bddebcf1b6217.jpeg?token=5b6698f85e7b42841351e51dc8f2057d&s=5A283C6297DC55C84CD591CF0000E0B1

理解了函数subplot2grid()基本使用方法后,再回头看看那张神分布图,我们可将其区域大小为(6,8),大小是由自己设计,没有固定。可依次按照迟到党、睡神、深藏功与名等顺序,画每一类所属的区域。

最终成品如下:

024f78f0f736afc37fcb38e9f5f491c0b5451263.jpeg?token=4d555f5645b59aba6e39ae91559a10d2&s=5184FD12C0C712E84F25576D0300806C

惊不惊喜,意不意外?

关于颜色的填充,可根据自己的喜欢颜色来设计,具体可参考RGB颜色值与十六进制颜色码转换工具,链接:

https://www.sioe.cn/yingyong/yanse-rgb-16/

文中,还用到函数suptitle()是绘制Figure 画布标题的文本内容,text()是设置文字说明。在这里主要说说,text语法使用

text(x,y,string,fontsize=15,verticalalignment="top",horizontalalignment="right")参数说明:x,y:表示坐标值上的值string:表示说明文字fontsize:表示字体大小verticalalignment:垂直对齐方式 ,参数:[ ‘center’ | ‘top’ | ‘bottom’ | ‘baseline’ ]horizontalalignment:水平对齐方式 ,参数:[ ‘center’ | ‘right’ | ‘left’ ]

好了,大学里面的教室座位分区用Python画就是这样了,哈哈哈,是不是忒简单,一个subplot2grid()就搞定。

最后,说说关于迟到党,至于迟到的嘛,没得挑,就哪儿有空位,自觉补去吧!我可是深有体会呀

8644ebf81a4c510f66c6191826b45f29d52aa5a0.jpeg?token=d5a2b248ca222706adc7fa3d2a139c32&s=9AB3EA05DC1743DC24A43CF803001030

另外,做个小调查,你经常会选择哪个位置坐下来听课呢?欢迎大家在留言处评论

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值