【问题标题】:Matplotlib in python: equivalent to fig.set_facecolor in mpl.rcParams?python中的Matplotlib:相当于mpl.rcParams中的fig.set_facecolor?
【发布时间】:2019-07-14 14:24:15
【问题描述】:

如果我这样做:

fig = plt.figure()
fig.set_facecolor('#fff1e0')

我改变了周围边距的颜色和轴刻度标签的背景。

因为我将所有内容都指定为 rcParams:

    mpl.rcParams['font.family'] = 'monospace'
    mpl.rcParams['font.size'] = 7
    mpl.rcParams['axes.facecolor'] = 'fff1e0'
    mpl.rcParams['figure.facecolor'] = 'fff1e0'
    mpl.rcParams['figure.edgecolor'] = 'fff1e0'
    mpl.rcParams['axes.edgecolor'] = '6595CC'

    mpl.rcParams['xtick.color'] = '1869B5'
    mpl.rcParams['ytick.color'] = '1869B5'
    mpl.rcParams['grid.color'] = 'EAEFF8'

我想知道 rcParams 中fig.set_facecolor 的等价物。

不确定是否相关,但 matplotlib 已嵌入 Tkinter。

【问题讨论】:

  • tkinter 标签有充分的理由吗?

标签: python matplotlib tkinter


【解决方案1】:

Artist Tutorial 声明该图包含所有轴,因此您应该使用mpl.rcParams['figure.facecolor']

docs for Figure 支持:

facecolor : 默认值:rcParams["figure.facecolor"]

可以通过注释/取消注释以下相应行来测试这两种方法:

from matplotlib import pyplot as plt
import matplotlib as mpl

mpl.rcParams['figure.facecolor'] = 'maroon'

fig = plt.figure()
##fig.set_facecolor('purple')
plt.plot()
plt.show()
plt.close()

# multiple Axes
fig, axs = plt.subplots(2,2)
##fig.set_facecolor('purple')
for ax,c in zip(axs.flatten(),['red','green','blue','yellow']):
    ax.set_facecolor(c)
plt.show()
plt.close()

mpl.rcdefaults()

Anatomy of a Figure

【讨论】:

    猜你喜欢
    • 2019-01-30
    • 2019-07-08
    • 2013-05-15
    • 2013-05-10
    • 1970-01-01
    • 2019-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多