VSCode“默认深色”主题不会自动将 matplotlib 样式默认为“dark_background”

Uza*_*air 6 matplotlib visual-studio-code jupyter-notebook


概括

当使用 VSCode Jupyter Notebook 绘制图形时matplotlib,即使 VSCode 主题为深色,图形也会以浅色主题渲染。据我了解,这个问题已经解决,VSCode 应该将matplotlib数字默认为dark_backgroundVSCode 主题默认为深色时的值。

我究竟做错了什么?


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

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

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

在 VSCode 中使用 matplotlib .ipynb

我知道我可以使用以下代码在黑暗模式下渲染图形:

from matplotlib import style
style.use('dark_background')
Run Code Online (Sandbox Code Playgroud)

但在 GitHub 上,这个问题已经得到解决,当 VSCode 处于深色模式时,VSCode 会自动默认样式matplotlibdark_background. 但是我没有经历这种自动化。

是否有一些设置我配置失败?

mjs*_*ier 10

在 VS 版本 1.63.2 的 macOS 上,我发现启用以下设置可以解决问题:

在此输入图像描述

  • 您需要点击“restart”按钮重新启动jupyter内核才能生效。 (2认同)

小智 4

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

将 json 编辑为:

    "jupyter.runStartupCommands": [
        "import matplotlib.pyplot as plt",
        "plt.style.use('dark_background')"
    ]
Run Code Online (Sandbox Code Playgroud)

然后,重新启动内核。

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