【问题标题】:Configure the backend of Ipython to use retina display mode with code用代码配置Ipython的后端使用retina显示模式
【发布时间】:2017-03-05 17:35:54
【问题描述】:

我正在使用代码来配置 Jupyter 笔记本,因为我有一个包含大量笔记本的存储库,并且希望保持所有笔记本的样式一致性,而不必在每个笔记本的开头编写冗长的设置。这样,我所做的是有一种方法来配置 CSS,一种是设置 Matplotlib,另一种是配置 Ipython。

我以这种方式配置我的笔记本,而不是根据docs 依赖配置文件的原因有两个:

  1. 我正在公开分享这个笔记本存储库,我希望我的所有配置都可见
  2. 我想让这些配置只针对我正在创建的这个 repo

例如,设置 CSS 的方法如下所示

def set_css_style(css_file_path='../styles_files/custom.css'):

    styles = open(css_file_path, "r").read()
    return HTML(styles)

我在每个笔记本的开头用set_css_style() 调用它。同样,我有这个方法来配置Ipython的细节:

def config_ipython():

    InteractiveShell.ast_node_interactivity = "all"

以上都使用进口

from IPython.core.display import HTML
from IPython.core.interactiveshell import InteractiveShell

目前,可以看出,配置 Ipython 的方法只包含制作它的指令,这样当我在单元格的多行中键入变量的名称时,我不需要添加 print使它们都被打印出来。

我的问题是如何将 Jupyter 魔术命令转换为代码以获得图形的视网膜显示质量。这样的命令是

%config InlineBackend.figure_format = 'retina'

从 Ipython 的文档中,我找不到如何在方法中调用此指令,即找不到 InlineBackend 所在的位置。

我只想在上面的config_ipython 方法中添加这个配置行,可以吗?

【问题讨论】:

    标签: ipython jupyter-notebook retina-display ipython-magic


    【解决方案1】:

    为此有一个Python API

    from IPython.display import set_matplotlib_formats
    set_matplotlib_formats('retina')
    

    【讨论】:

    • 太棒了。我们很好奇,你是怎么找到这个 API 的?我在文档中进行了搜索,但并不容易找到。
    • 我作弊了:我已经知道它叫什么了,所以我可以在 sphinx 文档中搜索确切的名称。在文档字符串here 中添加更多描述性文本将有助于其他人找到它。值得注意的是:“retina”未在此处列出,但它是可用选项之一。
    • 大声笑...可能是因为@minrk 是Jupter 项目的核心开发者之一
    • 我试过这样做,如果我在新选项卡中打开它们,我实际上会得到更大的图像,但它们在笔记本中显示的是按比例缩小的。有什么简单的方法可以让它们以 100% 缩放?
    • @filippo 你可以试试mpl.rc("figure", dpi=192) 而不设置IPython.display。您将在笔记本和外部获得放大的数字。
    猜你喜欢
    • 1970-01-01
    • 2015-08-25
    • 2014-10-16
    • 1970-01-01
    • 2014-06-29
    • 1970-01-01
    • 2017-06-05
    相关资源
    最近更新 更多