【问题标题】:Jupyter same color displaying differently in different notebooksJupyter相同的颜色在不同的笔记本中显示不同
【发布时间】:2021-08-12 05:05:51
【问题描述】:

在下面,您可以看到我叠加的两个条形图,以便更好地查看对比度。两个条形图都是在两个同时打开的 Jupyter Notebook 中使用相同的代码(不同的数据,但这并不重要)生成的。两者的代码都将“C3”称为颜色,但您可以清楚地看到,这在两个笔记本中的显示方式不同。图像的 inline 和 plt.savefig 版本都是这种情况。我也尝试过其他颜色,例如“C0”,并得到类似的细微差别。

任何想法可能导致这种情况以及我如何解决它?提前谢谢大家。

【问题讨论】:

  • 更新:这个问题似乎只发生在“C0”-“C9”颜色代码上。如果我调用相同的 RGB 代码,例如(0.8, 0.0, 0.0) 它在两个笔记本中显示相同。所以似乎出于某种我找不到的原因,当我调用“C-”颜色代码时,这两个笔记本在不同的调色板中循环。
  • 需要更多信息。两个笔记本都使用相同的内核吗?相同版本的matplotlib?同一个rc文件?

标签: colors jupyter-notebook


【解决方案1】:

根据color documentation,CN 语法用于索引当前颜色循环器。由于 RGB 代码有效而 CN 无效,因此我得出的结论是,不同的笔记本以某种方式使用不同的颜色周期。在每个笔记本中尝试以下 sn-p,看看它是否会给您不同的答案:

import matplotlib as mpl
print(mpl.rcParams["axes.prop_cycle"])

我认为很可能在其中一个笔记本中的某个地方调用了set_prop_cycle(),它以某种方式改变了正在使用的循环仪。另请查看post,了解有关通过循环仪选择颜色的更多信息。

简短的回答是避免使用“CN”符号。

【讨论】:

  • 谢谢你,汤姆。是的,由于这种不匹配,我已经切换到 RGBA 代码并且不会回到“CN”表示法,但我仍然很想了解问题的根源。你帮我做到了;其中一个笔记本确实包含对 set_prop_cycle() 的调用......模仿代码的陷阱一个不完全理解!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-08
  • 1970-01-01
  • 2014-09-09
  • 2016-05-25
  • 2015-11-03
相关资源
最近更新 更多