IPython中的透明内联matplotlib
我想让我的matplotlib图的背景在我的IPython笔记本中透明。 这可能听起来很愚蠢,因为笔记本本身默认为白色背景,但是:
1)我使用了一个日晒背景和
2)更重要的是,当我通过nbconvert
将笔记本直接嵌入我的博客时,我希望它们透明。
很容易使用像savefig('file', transparent=True)
,但我没有保存数字,我通过ipython notebook --matplotlib inline
调用IPython来显示它们。
我一直在玩IPython笔记本配置文件,特别是使用c.InlineBackend.rc
。 例如,我升级到matplotlib的dev版本以访问其新的savefig.transparent
rcParam,并尝试使用c.InlineBackend.rc = {'savefig.transparent': True}
,但如预期的那样,它仅影响图用savefig
保存。
请注意,我正在使用最近的IPython 2.0版本。 这一定是可能的,对吧? 任何你可以摆脱的灯将不胜感激。
只是为了跟进,tillsten在Github上打开的问题已经修补过,所以类似这样:
rcParams['figure.facecolor'] = (0,0,0,0)
应该在更新IPython后立即工作。 三个欢呼声的开源。
内联图是具有ui-resizable
类的html对象( <img>
)。 因此,您可以通过为您的笔记本定制CSS来更改其默认行为:
找到笔记本的设置:在终端中输入
ipython locate
在指定的目录中,转至子目录profile_defaultstaticcustom
(或者您想要使用的任何配置文件)
编辑或创建一个名为custom.css
的CSS文件
把它放在里面:
img.ui-resizable
{
opacity:0.4;
}
关闭你的笔记本电脑,杀死IPython并重新启动它(以便重新创建提供的文件)。
它应该与导出的笔记本一起工作,只要您将它们导出为html,并且您也可以在那里更改css。
这不完全是你想要的,但它完成了这项工作。
链接地址: http://www.djcxy.com/p/37903.html