在Python中';s Seaborn,有什么方法可以做与“鄙视”相反的事吗?

在Python中';s Seaborn,有什么方法可以做与“鄙视”相反的事吗?,python,matplotlib,seaborn,Python,Matplotlib,Seaborn,seaborn是一个漂亮的Python软件包,在大多数情况下,它是matplotlib之上的一个附加层。但是,它会改变,例如,plot对象上的matplotlib方法将改变为指向seaborn函数 seaborn的skeene()从绘图中删除任何脊椎(绘图的外边缘)。但我不能做相反的事 如果我从一开始就完全使用matplotlib,我似乎无法以标准方式重新创建脊椎。有办法吗?我该怎么做 下面是一个例子。例如,我可以在绘图的底部和左侧添加一个脊椎吗 from sklearn import da

seaborn
是一个漂亮的Python软件包,在大多数情况下,它是
matplotlib
之上的一个附加层。但是,它会改变,例如,plot对象上的
matplotlib
方法将改变为指向
seaborn
函数


seaborn
skeene()
从绘图中删除任何脊椎(绘图的外边缘)。但我不能做相反的事

如果我从一开始就完全使用
matplotlib
,我似乎无法以标准方式重新创建脊椎。有办法吗?我该怎么做


下面是一个例子。例如,我可以在绘图的底部和左侧添加一个脊椎吗

from sklearn import datasets
import pandas as pd

tmp = datasets.load_iris()
iris = pd.DataFrame(tmp.data, columns=tmp.feature_names)
iris['species'] = tmp.target_names[tmp.target]
iris.species =  iris.species.astype('category') 

import seaborn as sns
import matplotlib.pyplot as plt
sns.set_style('darkgrid')
sns.boxplot(x='species', y='sepal length (cm)', data=iris_new)
plt.show()

谢谢你的评论!我知道你写的一些东西,但不知道需要设置
'axes.linewidth'
'axes.edgecolor'

我在这里写一个答案,因为它是一些评论的汇编


也就是说,以下代码生成以下绘图:

sns.set_style('darkgrid', {'axes.linewidth': 2, 'axes.edgecolor':'black'})
sns.boxplot(x='species', y='sepal length (cm)', data=iris_new)
plt.show()

默认情况下,
darkgrid
样式没有脊椎。您需要选择另一种样式——matplotlib现在有许多自己的样式。您也可以通过执行导入seaborn.api导入seaborn,而不对样式产生任何影响,因为snsPaul是正确的,尽管完整的答案有点微妙
spine实际上删除了脊椎对象,而
darkgrid
样式将
轴的线宽设置为0。您可以在默认的
darkgrid
上指定其他rc参数,或者选择其他样式。@mwaskom感谢您的澄清。很高兴知道。实际上我想我的评论并不完全正确<代码>轻视
不会删除脊椎对象,而是切换其
可见性
参数。不过,这与默认样式的作用机制仍然不同。@PaulH我知道默认情况下,
darkgrid
没有脊椎。但它也有一些我喜欢的其他设置。我不想把孩子和洗澡水一起扔掉。顺便说一句,如果你用深灰色(即,
“.15”
)而不是
“黑色”
,情况会好一点。这是真实的,特别是因为这是其他seaborn情节元素的颜色。谢谢,@mwaskom!我同意。然而,在我的例子中,我希望使代码尽可能简单,而不是在我的主要问题之外引入概念。