python pandas plot画折线图如何显示x轴的值?

在使用python pandas Series plot画折线图时,不知道该如何显示x轴的值。
代码:

import matplotlib.pyplot as plt
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
from matplotlib.figure import Figure
from matplotlib.font_manager import *
import tkinter as tk
from tkinter import ttk
import generate_situation01 as gs1
import get_phone_detail as gpd
import pandas as pd


class Test():
    def __init__(self):
        self.root = tk.Tk()
        self.root.geometry("800x600")
        self.data = gs1.main(1000)
        self.lf = ttk.Labelframe(self.root, text='数据规律性')
        self.lf.grid(row=1, column=1, sticky='nsew', padx=3, pady=3)
        self.fig = Figure(figsize=(6, 5), dpi=100)
        self.ax = self.fig.add_subplot(111)
        self.show_btn = tk.Button(self.root, text='展示数据1', command=self.weekday_cost_show)
        self.show_btn2 = tk.Button(self.root, text='展示数据2', command=self.phone_place_show)
        self.show_btn3 = tk.Button(self.root, text='展示数据3', command=self.email_show)
        self.show_btn.grid(row=0, column=0, sticky='w')
        self.show_btn2.grid(row=0, column=1, sticky='w')
        self.show_btn3.grid(row=0, column=2, sticky='w')
        self.root.mainloop()

    def weekday_cost_show(self):
        self.ax.clear()
        self.weekdays = self.data[['weekday']]
        s = self.weekdays['weekday'].value_counts(sort=False)
        s = s.reindex(['Mon', 'Tue', 'Wed', 'Thur', 'Fri', 'Sat', 'Sun'])
        s.plot(kind='line', ax=self.ax)

        canvas = FigureCanvasTkAgg(self.fig, master=self.lf)
        canvas.draw()
        canvas.get_tk_widget().grid(row=0, column=0)

数据是我写的另外一个函数所产生的,若是大佬帮忙验证可替换掉。

折线图如图:

clipboard.png

想请问我的index的值:['Mon', 'Tue', 'Wed', 'Thur', 'Fri', 'Sat', 'Sun']怎么才能显示在x轴上呢?

使用大佬回答的ax.set_xticklabels只能从周二开始?

clipboard.png

阅读 14.4k
1 个回答

你可以参考一下这个链接,核心就是

ax.set_xticklabels(['Mon', 'Tue', 'Wed', 'Thur', 'Fri', 'Sat', 'Sun'])
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题