首页 > 解决方案 > 更改 matplotlib 图形的背景颜色

问题描述

我想更改嵌入式 matplotlob 图的背景颜色。我已经得到它来改变小部件的背景颜色,但不是图表(内部)我的意思是程序的白色部分

这是代码:

from tkinter import *
import matplotlib.pyplot as plt
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg

x = [1, 2, 3, 4, 5]
y = [1, 2, 3, 4, 5]

root = Tk()
root.title("graph embed")
root.geometry("200x300")
root.configure(bg="yellow")

ax = plt.gca()
ax.set_facecolor('yellow')
fig = plt.Figure(figsize=(5, 4), dpi=100)
fig.add_subplot(111).plot(x, y, "bo")
fig.set_facecolor("yellow")

chart = FigureCanvasTkAgg(fig, root)
chart.get_tk_widget().pack()

root.mainloop()

标签: pythonmatplotlibtkinter

解决方案


您正在创建两个单独的轴并在错误的轴上更改 facecolor。尝试这个:

(...)
root.configure(bg="yellow")

fig = plt.Figure(figsize=(5, 4), dpi=100)
ax = fig.add_subplot(111)
ax.plot(x, y, "bo")
fig.set_facecolor("yellow")
ax.set_facecolor('yellow')

chart = FigureCanvasTkAgg(fig, root)
(...)

推荐阅读