You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Matplotlib样式表在VSCode与Jupyter中颜色显示不一致求助

VSCode与Jupyter Notebook中Matplotlib颜色渲染不一致的解决方案

我正在创建Matplotlib样式表以统一绘图风格,但发现VSCode和Jupyter Notebook渲染图表时,指定的黄色(#FFB700)/橙色显示存在差异。我需要同时使用这两个环境,希望颜色保持一致,请问操作是否有误?我对颜色渲染了解不多,仅希望所有图表样式统一。指定颜色为:黄色#FFB700、蓝色#003B95。

VSCode中符合预期的渲染效果:
VSCode中渲染的图表

Jupyter Notebook中颜色不符的渲染效果:
Jupyter Notebook中渲染的图表

复现代码

  • 样式表mystylesheet.mplstyle内容:
axes.prop_cycle: cycler('color', ['003B95', 'FFB700'])
  • Python代码:
import pandas
import numpy
import matplotlib.pyplot as plt

plt.style.use('mystylesheet.mplstyle')

line_dates = pandas.date_range('2023-01-01', periods=12)
line_data1 = numpy.random.randint(1, 100, 12)
line_data2 = numpy.random.randint(1, 100, 12)

plt.plot(line_dates, line_data1, label='Data 1')
plt.plot(line_dates, line_data2, label='Data 2')
plt.savefig("fake_data_plot.png")
# 使用plt.show()也会出现同样的颜色差异

问题原因与解决方法

核心问题是颜色代码缺少#前缀,导致Matplotlib在不同环境下解析行为不一致:

  • VSCode环境中,Matplotlib自动补全了#前缀,正确识别了十六进制颜色;
  • Jupyter Notebook环境中未自动补全,颜色被解析为其他格式(如RGB归一化值),因此出现色差。

只需修改样式表,给每个十六进制颜色加上#前缀即可解决:

axes.prop_cycle: cycler('color', ['#003B95', '#FFB700'])

修改后重新加载样式表,两个环境下的颜色渲染就会完全一致。另外要确保Python代码中正确加载了自定义样式表(若样式表不在当前工作目录,需指定完整路径)。

内容的提问来源于stack exchange,提问作者Emmy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 19:22:48