【问题标题】:plt.figure not resizing figureplt.figure 不调整图形大小
【发布时间】:2020-07-20 11:26:29
【问题描述】:

我有这个功能,我想改变图形的大小,但是无论我在 figsize 中输入什么值,图形大小都不会改变。任何人都可以建议有什么问题吗?或者是否有其他方法可以做到这一点?

def plot_comparison_barplots(df, bar_col, hue_col, scaled):

    fig = plt.figure(figsize=(12,10))
    fig.set_tight_layout(True)
    plt.rcParams.update({'font.size': 9})
     
    ax = sns.catplot(x=bar_col, y='count in %', data=df, hue=hue_col, kind='bar', order=scaled) 

【问题讨论】:

  • 您能否提供一些样本数据,使您的问题可重现?
  • 添加数据为例

标签: python matplotlib plot seaborn figsize


【解决方案1】:

有一个更简单的方法来实现这个功能,使用subplots而不是figure,当你使用set_tight_layout()方法时,这会自动改变坐标轴的位置,使你的图表看起来更漂亮,并且确保没有任何轴名称被截断。解决此问题的最快方法是在 set_tight_layout() 方法之前定义坐标区,以便 figsize 参数覆盖它。

改变

fig = plt.figure(figsize=(12,10))

fig, ax = plt.subplots(figsize=(12,10))

【讨论】:

  • 感谢它确实调整了大小,但它还与我的图表一起生成了一个额外的标准大小的空白图表
  • 能否将它的图片添加到您的问题中,以便我看看?
  • 在这里资助空白图的解决方案stackoverflow.com/questions/51826447/…catplot 已经生成了图,建议不要使用子图。我可以直接在catplot中使用“高度”和“方面”来改变图形的大小
【解决方案2】:

您可以通过 Seaborn 添加为:

sns.set(rc={'figure.figsize':(12,10)})

【讨论】:

    猜你喜欢
    • 2018-10-23
    • 1970-01-01
    • 2023-04-02
    • 2017-05-07
    • 2016-04-13
    • 1970-01-01
    • 1970-01-01
    • 2017-03-25
    • 1970-01-01
    相关资源
    最近更新 更多