本文介绍了Seaborn 地块没有出现的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我确定我忘记了一些非常简单的事情,但我无法获得与 Seaborn 一起使用的某些情节.

I'm sure I'm forgetting something very simple, but I cannot get certain plots to work with Seaborn.

如果我这样做:

import seaborn as sns

然后我像往常一样使用 matplotlib 创建的任何图都会获得 Seaborn 样式(背景为灰色网格).

Then any plots that I create as usual with matplotlib get the Seaborn styling (with the grey grid in the background).

但是,如果我尝试做其中一个示例,例如:

However, if I try to do one of the examples, such as:

In [1]: import seaborn as sns

In [2]: sns.set()

In [3]: df = sns.load_dataset('iris')

In [4]: sns.pairplot(df, hue='species', size=2.5)
Out[4]: <seaborn.axisgrid.PairGrid at 0x3e59150>

pairplot 函数返回一个 PairGrid 对象,但绘图没有显示.

The pairplot function returns a PairGrid object, but the plot doesn't show up.

我有点困惑,因为 matplotlib 似乎运行正常,并且 Seaborn 样式应用于其他 matplotlib 绘图,但 Seaborn 函数似乎没有做任何事情.有人知道可能是什么问题吗?

I'm a little confused because matplotlib seems to be functioning properly, and the Seaborn styles are applied to other matplotlib plots, but the Seaborn functions don't seem to do anything. Does anybody have any idea what might be the problem?

推荐答案

使用 seaborn 创建的绘图需要像普通的 matplotlib 绘图一样显示.这可以使用

Plots created using seaborn need to be displayed like ordinary matplotlib plots.This can be done using the

plt.show()

来自 matplotlib 的函数.

function from matplotlib.

最初我发布了使用已从 seaborn (sns.plt.show()) 导入的 matplotlib 对象的解决方案,但这被认为是一种不好的做法.因此,只需直接导入 matplotlib.pyplot 模块并使用

Originally I posted the solution to use the already imported matplotlib object from seaborn (sns.plt.show()) however this is considered to be a bad practice. Therefore, simply directly import the matplotlib.pyplot module and show your plots with

import matplotlib.pyplot as plt
plt.show()

如果使用 IPython 笔记本,可以调用内联后端以消除在每次绘图后调用 show 的必要性.各自的魔法是

If the IPython notebook is used the inline backend can be invoked to remove the necessity of calling show after each plot. The respective magic is

%matplotlib inline

这篇关于Seaborn 地块没有出现的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-29 05:28