簡體   English   中英

如何調整Matplotlib / Seaborn子圖之間的空間以進行多圖布局

[英]How to adjust space between Matplotlib/Seaborn subplots for multi-plot layouts

下圖顯示了2 X 2網格布局中的標准Seaborn / Matplotlib Boxplots:

seaborn / matplotlib樣本箱圖

這幾乎是我想要的,除了我想在圖的第一行和第二行之間增加一些空間。 第一行圖​​的X軸標簽與第二行圖的標題之間的距離幾乎不存在。 我一直在玩這個線程中解釋的參數:

StackOverflow線程

這是我的相關代碼:

    import math
    import pandas as pd
    import numpy as np
    import matplotlib.pyplot as plt
    from matplotlib.backends.backend_pdf import PdfPages
    from PyPDF2 import PdfFileMerger
    import seaborn as sns
    num_cols = 2
    num_rows = int(math.ceil(tot_plots / float(num_cols)))
    fig, axes = plt.subplots(nrows=num_rows, ncols=num_cols, figsize=(16, 16))
    x_var = df_orig['hra']
    for idx, ax in enumerate(axes.flat):
        data_var = current_cols[idx]
        y_var = df_orig[data_var]
        title_str = ''
        sns.boxplot(x=x_var, y=y_var, ax=ax,
                    order=order, palette=color, showfliers=False)
        ax.set_title(data_var + title_str)
        ax.xaxis.label.set_visible(False)
        ax.yaxis.label.set_visible(False)
        ax.xaxis.set_tick_params(labelsize=8)
        ax.yaxis.set_tick_params(labelsize=8)
        plt.setp(ax.xaxis.get_majorticklabels(), rotation=90)
    fig.suptitle("Sampling BoxPlots", x=0.5, y=0.93, fontsize=14, fontweight="bold")
    plt.tight_layout()
    plt.subplots_adjust(top=0.8)
    pdf_pages = PdfPages(file_name)
    pdf_pages.savefig()
    pdf_pages.close()

您是否嘗試過調整hspace = 0.8 根據matplotlib的參考 ,這是改變子圖之間高度的論據,而不是top

plt.subplots_adjust(hspace = 0.8)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM