如何更改嵌入在 Tkinter 中的 3D matplotlib Figure 对象周围白色区域的颜色?
下面是一个简化版。我试图修改的BG root
,Frame
和canvas
对象,但没有反映任何变化。
from tkinter import *
import matplotlib
import matplotlib.pyplot as plt
plt.style.use('ggplot')
from datetime import datetime
matplotlib.use("TkAgg")
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
from matplotlib.figure import Figure
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.dates as dates
class PlotGraph(Frame):
def __init__(self, parent, **kwargs):
Frame.__init__(self, parent, **kwargs)
self.config(bg="black")
self.f = Figure(figsize=(8, 4), dpi=100)
self.canvas = FigureCanvasTkAgg(self.f, self)
self.canvas.get_tk_widget().configure(background='black')
self.canvas.get_tk_widget().pack(fill=BOTH, expand=True)
self.canvas._tkcanvas.config(bg="black")
self.ax = self.f.add_subplot(111, projection="3d")
x = ['2019-04-17', '2019-04-18', '2019-04-19', '2019-04-20', '2019-04-21']
y = [3, 1, 3, 0, 1]
some_dates = [dates.date2num(datetime.strptime(i,"%Y-%m-%d")) for i in x]
weekday = [datetime.strptime(i,"%Y-%m-%d").weekday() for i in x]
self.ax.plot(some_dates,weekday,y,marker="o")
root = Tk()
root.config(bg="black")
fig = PlotGraph(root)
fig.pack()
root.mainloop()
这是你需要的:
self.f.patch.set_facecolor('black')
只是图的颜色需要改变。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句