python - Matplotlib 多个子图图形间距按要求
问题描述
尽管在 plt.tight_layout 或 plt.subplots_adjust 上进行了多次迭代,但关于间隔 matplotlib 子图的一个非常简单的问题。我仍然无法在子图之间带来正确的空间
以下是示例 python 代码
import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline
dict1 = {'importance': {'var1': 67.18,'var2': 50.33,'var3': 29.33,
'var4': 27.17, 'var5': 24.880}}
dict2 = {'importance': {'var3': 50.18,'var1': 30.33,'var2': 29.33,
'var4': 24.17, 'var5': 7.880}}
df1 = pd.DataFrame.from_dict(dict1)
df2 = pd.DataFrame.from_dict(dict2)
fig, (ax1, ax2) = plt.subplots(1,2)
fig = plt.figure(figsize=(60,60))
fig.subplots_adjust(wspace=10)
df1.plot(kind = 'barh', ax = ax1)
df2.plot(kind = 'barh', ax = ax2)
这当然不是我要寻找的,我正在寻找广泛传播的子图。请帮助
解决方案
您的问题是fig = plt.figure(figsize=(60,60))
创建了第二个图形,因此当您调用 时fig.subplots_adjust(wspace=10)
,它会修改第二个图形,而不是您拥有绘图轴的图形。纠正此问题的一种方法是首先在对 subplots 的调用中包含关键字 figsize fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(60, 60)
,然后删除对below 的调用figure
,最后调整wspace
值。
推荐阅读
- autoit - 如何调试“不可访问变量上使用的下标”?
- docker - jwilder/nginx-proxy 和 jrcs/letsencrypt-nginx-proxy-companion 后面的 docker 中的 gitea
- python - 生成多个列表内容的所有可能组合,其中包含自定义字符
- android - 如何在android中进行全屏布局?
- sql - LINQ 中的 where 子句子查询
- python - 在不使用循环的情况下处理三个二维 numpy 数组
- php - 重定向后刷新页面
- pandas - keras 中的多 GPU 训练到底意味着什么?
- java - 重复元素时需要从数组中打印唯一的数字组合
- typo3 - 无法登录新的 TYPO3 10.4.8