如何调整Matplotlib嵌入Tkinter的柱状图X轴显示1到24全量小时刻度
Matplotlib嵌入Tkinter柱状图X轴刻度调整方案
核心修改点
在原有柱状图绘制代码plot.bar(xlst, ylst)后新增2行配置代码即可实现需求:
- 用
set_xlim()限制X轴显示范围,左右各预留0.5边距避免首尾柱状图被裁切 - 用
set_xticks()手动指定X轴显示1~24的全部整数刻度
完整可运行代码
import tkinter import matplotlib from matplotlib.backends.backend_tkagg import ( FigureCanvasTkAgg, NavigationToolbar2Tk) from matplotlib.backend_bases import key_press_handler from matplotlib.figure import Figure import numpy as np root = tkinter.Tk() root.wm_title("Embedding in Tk") xlst=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24] ylst=[26, 25, 21, 43, 68, 107, 221, 569, 575, 599, 586, 432, 486, 525, 410, 328, 251, 166, 153, 105, 123, 93, 54, 69] matplotlib.use("TkAgg") figure = Figure(figsize=(8,6), dpi=80) plot = figure.add_subplot(1, 1, 1) plot.bar(xlst, ylst) # 新增配置代码 plot.set_xlim(left=0.5, right=24.5) plot.set_xticks(range(1, 25)) # 若刻度显示拥挤可取消注释下一行旋转刻度 # plot.tick_params(axis='x', rotation=45) canvas = FigureCanvasTkAgg(figure, root) canvas.get_tk_widget().grid(row=0, column=0) tkinter.mainloop()
内容的提问来源于stack exchange,提问作者mrpy
相关产品推荐
相关产品推荐

