作者:丁彦军
来源:恋习Python(ID:sldata2017)
虽然这些座位,没有什么差别,但是他们可以反映出你在学校里面属于学霸还是学渣,一目了然。
网上曾有这样一张神奇的教室座位分区图,网友直呼“中枪”!
▲摄:张孟迪,修图:丁彦斌
从“神座位表”中可以看到,一间教室被划分成了“学霸区”“妹纸区”“考神区”“女神区”“睡神区”“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 plt
import matp