此问题在此处已有答案:
How to change the figure size of a seaborn axes or figure level plot(14个答案)
27天前关闭
我想把下面的图水平拉伸,以填满所有的空间;而不是在图的右边放白色空间,我想把x轴拉伸,这样线图就和图例一样宽了。它不一定是精确的或自动的;我很高兴有一个解决方案,我手动调整宽度。
当前代码生成的图形:x1c 0d1x
当前代码:
import matplotlib.pyplot as plt
import seaborn as sns
sns.lineplot(data=df_wide)
plt.legend(ncol=4, loc='upper left', bbox_to_anchor=(0.0, -.1), )
plt.xticks(rotation=90, ha='right', rotation_mode='anchor')
plt.xlabel("")
plt.ylabel("Pct. of bios")
字符串
我试着添加:
plt.gca().set_aspect(80)
型
但无论我选择的数字是多少,它都只是在垂直方向上拉伸和收缩图形,而不会改变其与图例成比例的宽度。(顺便说一句,我不知道为什么我需要使这个数字如此巨大;将其设置为1会导致整个线图区域完全变平为水平线)。
尝试添加.set_aspect()
时的图形
我也试着补充:
plt.figure(figsize=(18, 6))
型
最后,或者:
sns.set(rc={'figure.figsize':(18, 6)})
型
在创建图之前,但无论数字如何,这也不会改变图和图例之间的宽度比。(注意,第二个建议是对related question的公认答案,但在这里不起作用)
我不想通过改变图例字体大小来解决这个问题,因为那样我就不得不手动调整其他标签字体的大小(这样它们看起来就不会比图例大)。
1条答案
按热度按时间qv7cva1a1#
你会考虑使用一个relplot,也需要高度和方面的参数?
字符串
的数据