【问题标题】:Jupyter: Seaborn pairplot difficult to set graph dimensions for?Jupyter:Seaborn pairplot 难以设置图形尺寸?
【发布时间】:2019-05-10 08:36:09
【问题描述】:

我试图针对数据框中的每个变量创建一个双变量散点图,我发现sns.pairplot() 正是我所需要的。

但是,无论我做什么(并且我已经尝试了在这个 question 中找到的所有建议),情节不断出现过于分散,而且总体上来说太大了.在下图中,我的整个屏幕上只显示了 12 个变量中的前两行和四列。

我发现我对

的使用
%config InlineBackend.figure_format = 'svg'

在我的高 ppi 屏幕上创建不模糊的图形是部分原因,因为没有它,我得到这个图形,它完全适合我的屏幕,但现在太小了,我宁愿稍微滚动一下同时拥有更大的照片。

(注意:下面的附加选项无效)

如何使绘图网格的整体尺寸和间距可自定义?就目前而言,没有任何选项起作用,并且一个图形后端(默认的)生成的图形太小,而 'svg' 后端生成的图形太大。

编辑: 编辑 sns.set(rc={'figure.figsize':(x,y)})height/ aspect 选项没有任何改进:前者不会产生任何变化,而后两个会改变单个地块的大小(使用 @987654333 @让它们难以辨认),但整体“网格”仍然像以前一样庞大且过大。

【问题讨论】:

  • 使用sns.set(rc={'figure.figsize':(x,y)})对输出没有影响?
  • 您是否尝试过更改pairplot 中的height 参数?结合aspect 更改它应该会改变各个图的大小。 Documentation
  • 我在问题末尾的编辑中回复了您的两位 cmets。

标签: python matplotlib graph jupyter-notebook seaborn


【解决方案1】:

本质上,您是在问如何在 jupyter 笔记本中以原始大小显示图形。
如果滚动条超出了输出单元格的布局给定的空间,这将转化为如何添加滚动条。

我认为对于水平方向,可以按如下方式完成。但是对于垂直方向,这似乎不起作用。

%matplotlib inline

# Cell2
from IPython.display import display, HTML
CSS = """div.output_area img {max-width:None !important;max-height: None !important";}"""
display(HTML('<style>{}</style>'.format(CSS)))

# Cell3
import matplotlib.pyplot as plt
fig, ax = plt.subplots(ncols=8, figsize=(20,10))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-10-14
    • 1970-01-01
    • 1970-01-01
    • 2021-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多