我如何改变我的图像的大小,使其适合打印?

例如,我想使用A4纸,它的尺寸是11.7英寸乘8.27英寸。


当前回答

对于我的图(一个sns因子图),建议的答案并不能很好地工作。

因此我使用

plt.gcf().set_size_inches(11.7, 8.27)

就在与seaborn的情节之后(所以不需要传递一个斧头给seaborn或改变rc设置)。

其他回答

对于我的图(一个sns因子图),建议的答案并不能很好地工作。

因此我使用

plt.gcf().set_size_inches(11.7, 8.27)

就在与seaborn的情节之后(所以不需要传递一个斧头给seaborn或改变rc设置)。

Paul H和J. Li给出的最重要的答案并不适用于所有类型的海上人物。对于FacetGrid类型(例如ssn .lmplot()),使用size和aspect参数。

大小同时改变高度和宽度,保持纵横比。

Aspect只改变宽度,保持高度不变。

您总是可以通过使用这两个参数来获得您想要的大小。

来源:https://stackoverflow.com/a/28765059/3901029

这可以使用:

plt.figure(figsize=(15,8))
sns.kdeplot(data,shade=True)

请注意,如果您试图传递给seaborn中的“图形级”方法(例如lmplot, catplot / factorplot, jointplot),您可以并且应该在参数中使用height和aspect指定此方法。

sns.catplot(data=df, x='xvar', y='yvar', 
    hue='hue_bar', height=8.27, aspect=11.7/8.27)

请参阅https://github.com/mwaskom/seaborn/issues/488和使用matplotlib面向对象接口使用seaborn进行绘图,以获得关于图形级方法不遵守轴规范的更多详细信息。

首先导入matplotlib并使用它来设置图形的大小

from matplotlib import pyplot as plt
import seaborn as sns

plt.figure(figsize=(15,8))
ax = sns.barplot(x="Word", y="Frequency", data=boxdata)