最稳定且对所有输出(包括 matplotlib 图)都生效的深色模式方案是直接使用 jupyter-themes,安装后通过 jt 命令启用主题并重启 jupyter;支持 gruvboxd、oceans16 等深色主题,推荐 oceans16 以避免图表边框丢失,启用后需硬刷新浏览器清除缓存。

直接用 jupyter-themes 装完就能开深色模式,不用改 CSS 文件、也不依赖浏览器插件——这是最稳定且对所有输出(包括 matplotlib 图)都生效的方式。
安装 jupyter-themes 并确认可用主题
先确保已安装并更新到最新版:
pip install jupyterthemes 或 conda install -c conda-forge jupyterthemes
运行 jt -l 查看支持的深色主题列表。当前可用的深色主题包括:gruvboxd、oceans16、monokai、onedork、solarizedd、chesterish。
注意:gruvboxd 和 oceans16 对图表边框兼容性更好;monokai 语法高亮对比强但 matplotlib 默认边框可能发黑(需额外修复)。
应用深色主题并避免常见显示问题
选一个主题直接启用,例如:
jt -t oceans16 -fs 12 -cellw 90% -T -N
-
-t oceans16:应用深蓝底色主题,matplotlib 图表边框默认为浅色,不易丢失 -
-fs 12:代码字体大小设为 12,太小伤眼,太大挤占空间 -
-cellw 90%:单元格宽度限制在 90%,防止长代码换行错乱 -
-T显示工具栏,-N显示 notebook 名称,方便多标签识别
执行后重启 Jupyter(不是刷新页面),否则主题不生效。如果发现图表坐标轴或刻度看不见,大概率是主题把 plt 的 tick 颜色设成了黑色——此时在 notebook 里加一行:
plt.tick_params(color='w', labelcolor='w')
恢复默认或临时切换主题
想退回去?别删文件,直接运行:
jt -r
它会还原所有 CSS 修改,并清空缓存。但注意:浏览器可能仍缓存旧样式,建议硬刷新(Ctrl+Shift+R)。
如果只是临时预览某个主题,用 jt -t monokai 切过去,再用 jt -r 回退即可,无需重启服务。
深色主题真正生效的关键不在“装没装”,而在“重启没重启”和“浏览器缓存清没清”——这两步漏掉,90% 的人会以为命令没起作用。











