绘制箱型图,即四分位数分析法的可视化形式
(输入的文件应为一种数据独立一列一个文件)
普通版
import matplotlib.pyplot as plt
import pandas as pd
# 读取数据
data = pd.read_csv('55.csv', encoding='gbk') # 读取数据集
# 绘制箱形图
plt.boxplot(data.values)
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.ylabel("规模场平均每只成母羊养殖效益", fontdict={"fontsize": 12}) # 设置y轴标签及字体样式
plt.show() # 显示图形
装X版
import tkinter as tk
from matplotlib.figure import Figure
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
import pandas as pd
# 导入需要的库函数
# 定义BoxPlotApp类
class BoxPlotApp:
def __init__(self, root):
self.root = root # 存储根窗口对象
self.root.title("箱形图示例") # 设置窗口标题
self.root.geometry("800x600") # 设置窗口大小
self.data = pd.read_csv(r'三创赛\55.csv', encoding='gbk') # 从CSV文件中读取数据
self.create_plot() # 调用绘图方法
def create_plot(self):
fig = Figure(figsize=(6, 4), dpi=100) # 创建Matplotlib图形对象
ax = fig.add_subplot(111) # 添加子图对象
ax.boxplot(self.data.values) # 绘制箱形图
ax.set_ylabel("规模场平均每只成母羊养殖效益", fontdict={"fontsize": 12}) # 设置y轴标签
canvas = FigureCanvasTkAgg(fig, master=self.root) # 创建Matplotlib画布,并将其嵌入窗口
canvas.draw() # 绘制图形
canvas.get_tk_widget().pack() # 将画布添加到窗口中
def main():
root = tk.Tk() # 创建根窗口对象
app = BoxPlotApp(root) # 实例化BoxPlotApp类,传入根窗口对象
root.mainloop() # 运行窗口的主循环
if __name__ == "__main__":
main() # 调用主函数开始程序的执行