gpt4 book ai didi

python - 你如何在 matplotlib 中设置绘图的外部 bg 颜色

转载 作者:行者123 更新时间:2023-12-04 01:50:54 26 4
gpt4 key购买 nike

致意,

我想在 matplotlib 中更改绘图的外部颜色。我可以找到很多很多关于如何更改内部 bg 颜色但外部 bg 颜色拒绝更改的示例。

图像的白色部分就是我所说的“外部”背景。最外面的颜色只是为了对比白色,所以它不会与堆栈溢出背景混合,也不是绘图/图表的一部分。

Chart

我试过使用 set_facecolor() 来改变它,但它不起作用。

# Setting up data
x = list(history['daily'].keys())[-30*months:]
x_av = list(history['average'].keys())[-30*months:]
y = list(history['daily'].values())[-30*months:]
y_av = list(history['average'].values())[-30*months:]

# Setting up figure
fig = pyplot.figure()
fig.set_figheight(6)
fig.set_figwidth(12)

# Formatting figure
fig.patch.set_antialiased(True)

# Setting up axis
ax = fig.add_subplot(111, axisbg='#2e3136')
ax.plot(x, y, '#e1bb34', x_av, y_av, '#b2dbee')

# Formatting axis
ax.get_yaxis().grid(color='#3e4146', linestyle='-')
ax.get_xaxis().grid(color='#3e4146', linestyle='-')

ax.spines['bottom'].set_color('#1e2124')
ax.spines['top'].set_color('#1e2124')
ax.spines['left'].set_color('#1e2124')
ax.spines['right'].set_color('#1e2124')

ax.get_yaxis().set_major_formatter(ticker.FuncFormatter(lambda _y, p: '{:,}'.format(_y)))
ax.get_xaxis().set_major_formatter(ticker.FuncFormatter(lambda _x, p: datetime.fromtimestamp(_x/1000.0).strftime('%b %d')))

[i.set_color('white') for i in pyplot.gca().get_xticklabels()]
[i.set_color('white') for i in pyplot.gca().get_yticklabels()]

buf = BytesIO()
fig.savefig(buf, format='png', bbox_inches='tight')
pyplot.close()
buf.seek(0)

最佳答案

您应该能够将 facecolor 设置为 savefig 的 kwarg,这将确保在写入图像时设置它。

fig.savefig(buf, format='png', bbox_inches='tight', facecolor='#2e3136')

从轴上拉颜色:

fig.savefig(buf, format='png', bbox_inches='tight', facecolor=ax.get_axis_bgcolor())

关于python - 你如何在 matplotlib 中设置绘图的外部 bg 颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40209204/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com