首页 > 解决方案 > VSCode 'default dark' 主题不会自动将 matplotlib 样式默认为 'dark_background'

问题描述


概括

使用 VSCode Jupyter Notebook绘制matplotlib图形时,即使 VSCode 主题为深色,图形也会以浅色主题呈现。据我了解,此问题已解决,并且 VSCode 应该将matplotlib数字默认dark_background为 VSCode 主题默认为暗时。

我究竟做错了什么?


我对整个数据科学和机器学习领域相当陌生,到目前为止,我一直在使用 Jupyter Notebook(有时是 Jupyter Lab)来满足我所有的编码需求。然而,Jupyter Notebook 中的代码完成功能还有待改进,因此我开始寻找 Jupyter Notebook 的替代品。

我最近发现 VSCode 原生支持Jupyter Notebook的使用,并且在安装了 python 扩展之后,我能够创建新的并打开以前保存.ipynb的文件,并且一切都很好(尤其是IntelliSense)。

然而,有一个问题有点令人讨厌。我的 VSCode 主题默认为深色,生成的图形matplotlib为浅色主题。

在 VSCode .ipynb 中使用 matplotlib

我知道我可以使用以下代码在暗模式下呈现图形:

from matplotlib import style
style.use('dark_background')

但是在 GitHub 上,这个问题已经解决了,所以当 VSCode 处于暗模式时,VSCode 会自动将matplotlib样式默认为dark_background. 但是我没有体验到这种自动化。

是否有一些我未能配置的设置?

标签: matplotlibvisual-studio-codejupyter-notebook

解决方案


经过一番搜索,我找到了这个解决方案:在设置(通过ctrl+,)搜索 jupyter run startup commands

将json编辑为:

    "jupyter.runStartupCommands": [
        "import matplotlib.pyplot as plt",
        "plt.style.use('dark_background')"
    ]

然后,重新启动内核。

请注意,不知何故,仅使用matplotlib.style.use('dark_background')尚未完全解决,因为pyplot似乎某些部分在加载到笔记本时被覆盖。


推荐阅读