Ipython笔记本3禁用seaborn设置。

7

我刚刚升级到了IPython Notebook 3.0版本,它禁用了seaborn的格式设置。这是一些重现问题的示例代码:

import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
import seaborn as sns

%matplotlib inline

data = np.random.randn(100)

fig,ax = plt.subplots(figsize = (11,8.5))
ax.plot(data)

这段代码在IPython Notebook V2.4.1中运行良好(请参见http://nbviewer.ipython.org/gist/anonymous/71733c24a68ee464ca40), 但在IPython Notebook v3.0中,坐标轴变得不可见(请参见http://nbviewer.ipython.org/gist/anonymous/7525146b07709206908c)。
奇怪的是,在V3中,当我交换seaborn导入和matplotlib inline命令的顺序时,绘图第一次正常渲染,然后如果我重新运行,坐标轴和网格线就会消失。所以似乎与inline命令禁用seaborn属性有关。
除了第一次导入后不重新执行导入之外,还有其他解决方法吗?

4
这是一个已知的问题:https://github.com/ipython/ipython/issues/7964。实际上,IPython 并没有 "禁用" seaborn,而只是为 Axes 背景设置了不同且冲突的 matplotlob 参数。 - mwaskom
5
在行内魔术命令后键入“seaborn.set_style('darkgrid')”即可解决问题。谢谢! - ollerend
1
谢谢@ollerend。这对我很有帮助。你可能想把你的答案完整回复一下,这样OP就可以将其标记为正确答案。 - DrMisha
1个回答

3
在 iPython Notebook 3.0 中,添加如下内容:
seaborn.set_style('darkgrid')

恢复Seaborn默认的颜色方案。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接