【发布时间】:2020-11-11 23:15:42
【问题描述】:
经过大量奔波试图让 matplotlib 图显示在特定的 Tkinter 框架中,但网格样式和标题没有显示。绘图创建与一个功能相关联,该功能与一个工作正常的按钮相关联。当绘图单独绘制图表或调用 plt.show() 时,该样式有效。当整个事物与一个类相关联并以这种方式创建时,它也可以工作。
有人知道为什么这不起作用吗?
def create_all_graph():
recruiter = submit_entry.get()
# Gather data for marketing calls
rec_filter = df_tgr_year["recruiter"] == recruiter
x_week = df_tgr_year.loc[rec_filter, ["week"]]
# Marketing Calls
mc_y_metric = df_tgr_year.loc[rec_filter, ["marketing_calls"]]
# plot graph
mc_figure = Figure(figsize=(4, 3), dpi=100)
mc_plot = mc_figure.add_subplot(111)
mc_plot.plot(x_week, mc_y_metric, color="#159cff", linewidth=2, marker='h', markerfacecolor="#FFFFFF",
markeredgewidth=2, markersize=5)
mc_canvas = FigureCanvasTkAgg(mc_figure, master=graph_frame)
mc_canvas.draw()
mc_canvas.get_tk_widget().grid(row=1, column=0)
plt.ylim(ymin=0)
plt.xlim(xmin=0)
plt.title("Marketing Calls")
plt.xlabel("Week")
plt.ylabel("Marketing Calls")
plt.minorticks_on()
plt.grid(which="major", linestyle="-", linewidth="0.5", color="#d7eeff")
plt.grid(which="minor", linestyle="-", linewidth="0.5", color="#d7eeff")
plt.tight_layout()
触发这个问题的代码块也有一些有趣的地方,但让我们再等一下。
【问题讨论】:
标签: python matplotlib tkinter tkinter-canvas