【Python】Tkinter电器销售有限公司销售数据分析(源码)【独一无二】


一、设计要求

该项目创建一个数据分析软件,利用Tkinter和Matplotlib构建图形用户界面(GUI),读取和分析美迪电器销售有限公司销售数据。用户可以通过界面选择月份查看数据详情、生成销量图表并计算月总销量和年总销量。


二、设计思路

2. 模块引入

首先引入了所需的模块,包括Tkinter(用于GUI创建和管理)、ttk(Tkinter主题化控件)、messagebox(用于弹出消息框)、pandas(用于数据处理)和matplotlib.pyplot(用于绘图)。设置Matplotlib字体为SimHei以支持中文显示。

import tkinter as tk
from tkinter import ttk
from tkinter import messagebox
import pandas as pd
import matplotlib.pyplot as plt
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg

plt.rcParams['font.sans-serif'] = ['SimHei']
3. 读取数据

使用Pandas读取Excel文件中的数据,并存储在DataFrame对象df_09中。指定openpyxl引擎读取Excel文件。

df_09 = pd.read_excel('美迪电器销售有限公司销售收入.xlsx', engine='openpyxl')
4. Tkinter窗口初始化

创建主窗口,并设置窗口标题为“数据分析软件”。

app_09 = tk.Tk()
app_09.title('数据分析软件')
5. 界面布局
标签

使用ttk创建标签,显示“月份数据分析”。

label.grid(row=0, column=0, columnspan=3, pady=10)
列表框

创建列表框,用于显示月份数据。通过遍历DataFrame的月份列填充列表框。

listbox_09 = tk.Listbox(app_09, selectmode=tk.SINGLE, height=12)
listbox_09.grid(row=1, column=0, rowspan=8, padx=10)

    	# 代码略(至少十行)... 
		# 代码略(至少十行)... 

【Python】Tkinter电器销售有限公司销售数据分析(源码)【独一无二】_第1张图片

文本框

创建文本框,用于显示选中月份的详细数据。

text_box_09 = tk.Text(app_09, height=12, width=30)
text_box_09.grid(row=1, column=1, rowspan=8, padx=10)
按钮

创建按钮,用于显示选中月份的数据。按钮点击时调用display_data函数,该函数从列表框获取选中月份的索引,并在文本框中显示详细数据。

def display_data():
    selected_index = listbox_09.curselection()

    	# 代码略(至少十行)... 
		# 代码略(至少十行)... 

display_button = ttk.Button(app_09, text='显示数据', command=display_data)
display_button.grid(row=9, column=0, columnspan=2, pady=10)
画布

创建Matplotlib画布,用于绘制折线图和柱状图的组合图。通过FigureCanvasTkAgg将Matplotlib图嵌入Tkinter窗口。

fig, ax = plt.subplots(figsize=(6, 4), tight_layout=True)
canvas = FigureCanvasTkAgg(fig, master=app_09)

    	# 代码略(至少十行)... 
		# 代码略(至少十行)... 

【Python】Tkinter电器销售有限公司销售数据分析(源码)【独一无二】_第2张图片

绘制图表按钮

创建按钮,用于绘制选中月份的折线图和柱状图的组合图。按钮点击时调用plot_graph函数,该函数从列表框获取选中月份的数据,绘制图表并在画布上显示。

def plot_graph():
    selected_index = listbox_09.curselection()
    if selected_index:
        selected_month = df_09.iloc[selected_index[0]]

    	# 代码略(至少十行)... 
		# 代码略(至少十行)... 

        canvas.draw()

plot_button = ttk.Button(app_09, text='绘制图表', command=plot_graph)
plot_button.grid(row=9, column=3, pady=10)
统计年总销量按钮

创建按钮,用于统计年总销量。按钮点击时调用calculate_year_total函数,该函数计算所有产品的年总销量,并弹出消息框显示结果。

def calculate_year_total():

    	# 代码略(至少十行)... 
		# 代码略(至少十行)... 
year_button = ttk.Button(app_09, text='统计年总销量', command=calculate_year_total)
year_button.grid(row=10, column=0, columnspan=2, pady=10)
统计月总销量按钮

创建按钮,用于统计选中月份的总销量。按钮点击时调用calculate_month_total函数,该函数从列表框获取选中月份的数据,计算总销量并弹出消息框显示结果。

def calculate_month_total():
    selected_index = listbox_09.curselection()

    	# 代码略(至少十行)... 
		# 代码略(至少十行)... 
month_button = ttk.Button(app_09, text='统计月总销量', command=calculate_month_total)
month_button.grid(row=10, column=2, columnspan=2, pady=10)
6. 运行主循环

最后,运行Tkinter主循环,保持窗口处于活动状态,等待用户交互。

app_09.mainloop()

总结

该代码通过Tkinter创建了一个数据分析软件,用户可以方便地通过界面查看和分析销售数据。各个功能模块独立且相互协作,界面布局简洁明了,用户体验友好。


三、可视化分析

【Python】Tkinter电器销售有限公司销售数据分析(源码)【独一无二】_第3张图片

【Python】Tkinter电器销售有限公司销售数据分析(源码)【独一无二】_第4张图片


你可能感兴趣的:(python,数据分析,开发语言)