欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

matplotlib画图-子图设置

程序员文章站 2022-03-01 22:18:03
...

画了一堆子图,发现 figsize=size、plt.subplots_adjust、plt.tight_layout之间有冲突,测试完,在来补充

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False

#特征频数统计
lt = []
for col in data.columns[1:]:
    lt.append(data.groupby(col).size())
nrow, ncol = 6, 3
size = (4.5*ncol, 10*nrow)
fig, ax = plt.subplots(nrow, ncol, figsize=size) 
n = 0
x_major_locator=MultipleLocator(1) 主刻度是1的倍数
for c in range(ncol):
    for r in range(nrow):
        ct = lt[n]
        ax[r, c].bar(ct.index, ct.values)        
        ax[r, c].set_title(data.columns[n+1])
        ax[r, c].xaxis.set_major_locator(x_major_locator)   #把x轴的主刻度设置为1的倍数
        n += 1   
plt.subplots_adjust(wspace=0.1, hspace=0.5)
plt.tight_layout(pad=5,h_pad=12)
plt.show()