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

    上一篇: Transparent inline matplotlibs in IPython

    下一篇: python matplotlib blit to axes or sides of the figure?