如何更改绘图背景颜色?

新手上路,请多包涵

我正在 matplotlib 中制作散点图,需要将实际绘图的背景更改为黑色。我知道如何使用以下方法更改绘图的面部颜色:

 fig = plt.figure()
fig.patch.set_facecolor('xkcd:mint green')

在此处输入图像描述

我的问题是这会改变情节周围空间的颜色。如何更改绘图的实际背景颜色?

原文由 user1764386 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 754
1 个回答

使用 axes 对象的 set_facecolor(color) 方法,您已通过以下方式之一创建该对象:

  • 您一起创建了图形和轴
  fig, ax = plt.subplots(nrows=1, ncols=1)

  • 您创建了一个图形,然后是轴/ es
   fig = plt.figure()
  ax = fig.add_subplot(1, 1, 1) # nrows, ncols, index

  • 您使用了有状态 API(如果您做的不仅仅是几行, 特别是 如果您有多个绘图,上面的面向对象方法会让生活更轻松,因为您可以引用特定的图形,在特定的轴上绘图,并自定义任何一个)
   plt.plot(...)
  ax = plt.gca()

然后你可以使用 set_facecolor

 ax.set_facecolor('xkcd:salmon')
ax.set_facecolor((1.0, 0.47, 0.42))

轴上带有粉红色背景的示例图

作为什么颜色的复习:

matplotlib.颜色

Matplotlib 识别以下格式来指定颜色:

  • [0, 1] 中浮点值的 RGB 或 RGBA 元组(例如, (0.1, 0.2, 0.5)(0.1, 0.2, 0.5, 0.3) );
  • 十六进制 RGB 或 RGBA 字符串(例如 '#0F0F0F''#0F0F0F0F' );
  • 浮点值的字符串表示 [0, 1] 包含灰度级(例如 '0.5' );
  • {'b', 'g', 'r', 'c', 'm', 'y', 'k', 'w'} 之一;
  • X11/CSS4 颜色名称;
  • 来自 xkcd 颜色调查 的名称;前缀为 'xkcd:' (例如, 'xkcd:sky blue' );
  • 其中一个 {'tab:blue', 'tab:orange', 'tab:green', 'tab:red', 'tab:purple', 'tab:brown', 'tab:pink', 'tab:gray', 'tab:olive', 'tab:cyan'} 是来自“T10”分类调色板(这是默认颜色循环)的 Tableau 颜色;
  • “CN”颜色规范,即“C”后跟一个数字,这是默认属性循环的索引( matplotlib.rcParams['axes.prop_cycle'] );索引发生在艺术家创作时,如果循环不包括颜色,则默认为黑色。

除“CN”外,所有颜色字符串规范均不区分大小写。

原文由 Nick T 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题