这次画一个2行2列的4子图直方图,首先先设置画布
fig, axes = plt.subplots(2,2,sharex = True, sharey = True)
接着绘制每个子图
for i in range(2):
for j in range(2):
axes[i,j].hist(np.random.randn(500),bins = 50, color = 'b', alpha = 0.5)
其中,np.random.randn(500) 是在打随机数据
Jupyter Notebook中直接运行即可,在pycharm中需要加一行show
plt.show()
当然了,在这之前需要导入包
import numpy as np
import matplotlib.pyplot as plt
跑完了效果是这样的
各个子图间间隔有点大,可以通过如下代码调整:
plt.subplots_adjust(wspace = 0,hspace = 0)
效果如下:
有的人好奇,fig, axes = plt.subplots(2,2,sharex = True, sharey = True) 中如果True改成False会怎么样,我们试一下:
就这样了,┓( ´∀` )┏
完整代码如下:
import numpy as np
import matplotlib.pyplot as plt
fig, axes = plt.subplots(2,2,sharex = True, sharey = True)
for i in range(2):
for j in range(2):
axes[i,j].hist(np.random.randn(500),bins = 50, color = 'b', alpha = 0.5)
plt.subplots_adjust(wspace = 0,hspace = 0)
plt.show()