绘制五列统计图,np.ceil()向上取整
fig = plt.figure(figsize = (25, 15)) # 定义基本绘图空间
cols = 5 # 五列
rows = np.ceil(float(data_train.shape[1]) / cols) #行=特征数量/列数
for i, column in enumerate(data_train.columns):#列columns
ax = fig.add_subplot(rows, cols, i + 1) # i+1 是索引
ax.set_title(column) # 将列名作为图表名
if data_train.dtypes[column] == np.object: #np.object格式,保存了数据的原来格式,array = np.array([1, 10, 3.5, # 'str'], dtype=np.object)
data_train[column].value_counts().plot(kind = "bar", axes = ax) #如果是对象类型,那么绘制条形图
else:
data_train[column].hist(axes=ax) #hist绘制直方图,参数为柱子的个数
plt.xticks(rotation="vertical") # 设置横坐标,方向为垂直
plt.subplots_adjust(hspace=0.7, wspace=0.2) #为子图之间的空间保留的高度和宽度