python可视化图表

1.测试数据准备

2011年1月销售数据.txt

2011-01-01,4b34218c-9f37-4e66-b33e-327ecd5fb897,1689,湖南省
2011-01-01,5b6a6417-9a16-4243-9704-255719074bff,2353,河北省
2011-01-01,ae240260-68a9-4e59-b4c9-206be4c08a8d,2565,湖北省
2011-01-02,c833e851-880f-4e05-9de5-b547fsffc5e1,2877,山东省
2011-01-02,dd27e822-884c-4d20-a309-986f6a90e2b9,9476,安徽省
2011-01-03,b6882f5f-fb10-4210-9e45-288dd2239594,1363,广东省
2011-01-04,fd5056a8-8223-4d02-9988-04e1b41a57e8,2149,江苏省
2011-01-04,d022df35-3c0e-4753-bccb-37e125a5922b,1739,福建省
2011-01-04,a480686a-77ff-497e-9e32-0f6d9ba3eadd,2999,江苏省

2011年2月销售数据JSON.txt

{"date":"2011-02-02","order_id":"3dea6f83 a9b2-4197-ba9f-2b25704c530b","money":2547,"province":"广东省"}
{"date":"2011-02-03","order_id":"93cf7a56-3f90-4df9-af76-de7233c1dddb","money":1216,"province":"福建省"}
{"date":"2011-02-04","order_id":"0fbe1745-ac65-48f4-985b-b71875fcfbf7","money":2310,"province":"云南省"}

2.data_define.py

"""
数据定义的类
"""class Recort:def __init__(self, date, order_id, money, province):self.date = date  # 订单日期self.order_id = order_id  # 订单idself.money = money  # 订单金额self.province = province  # 订单省份def __str__(self):return f"{self.date},{self.order_id},{self.money},{self.province}"

3. file_define.py

"""
和文件相关的定义类
"""from data_define import Recort
import json# 先定义一个抽象类,用来做顶层设计,确定有哪些功能需要实现
class FileReader:def read_data(self):"读取文件的数据,督导的每一条数据转换未Record对象,将它们都封装到list内返回即可"passclass TextFilReader(FileReader):def __init__(self, path):self.path = path  # 定义成员变量记录文件的路径def read_data(self):f = open(self.path, 'r', encoding='utf-8')record_list = []for line in f.readlines():line = line.strip()  # 消除读取到的每一行数据中的\ndata_list = line.split(',')record = Recort(data_list[0], data_list[1], int(data_list[2]), data_list[3])record_list.append(record)f.close()return record_listclass JosnFileReader(FileReader):def __init__(self, path):self.path = pathdef read_data(self):f = open(self.path, 'r', encoding='utf-8')record_list = []for line in f.readlines():data_dict = json.loads(line)record = Recort(data_dict['date'], data_dict['order_id'], int(data_dict['money']), data_dict['province'])record_list.append(record)f.close()return record_listif __name__ == '__main__':text_file_reader = TextFilReader('./2011年1月销售数据.txt')json_file_reader = JosnFileReader('./2011年2月销售数据JSON.txt')list1 = text_file_reader.read_data()list2 = json_file_reader.read_data()for i in list1:print(i)for i in list2:print(i)

4. main.py

"""
面相对象,数据分析案例,主业务逻辑代码实现步骤:
1. 设计一个类,可以完成数据的封装
2. 设计一个抽象类,定义文件读取的相关功能,病使用子类实现具体功能
3. 读取文件,生产数据对象
4. 进行数据的需求的逻辑计算(计算每一天的销售额)
5. 通过PyEcharts 进行图形的绘制
"""from pyecharts.charts import Bar
from pyecharts.options import *from file_define import TextFilReader, JosnFileReadertext_file_reader = TextFilReader("./2011年1月销售数据.txt")
json_file_reader = JosnFileReader("./2011年2月销售数据JSON.txt")jan_data = text_file_reader.read_data()
feb_data = json_file_reader.read_data()all_data = jan_data + feb_data# 开始进行数据计算
data_dict = {}
for record in all_data:if record.date in data_dict.keys():data_dict[record.date] += record.moneyelse:data_dict[record.date] = record.money# 可视化图表开发
bar = Bar()bar.add_xaxis(list(data_dict.keys()))  # 添加x轴的数据
bar.add_yaxis("销售额", list(data_dict.values()), label_opts=LabelOpts(is_show=False))  # 添加y轴数据
bar.set_global_opts(title_opts=TitleOpts(title='每日销售额'))
bar.render("每日销售额柱状图.html")

5.html展示

在这里插入图片描述

学习链接

【黑马程序员python教程,8天python从入门到精通,学python看这套就够了】https://www.bilibili.com/video/BV1qW4y1a7fU?p=126&vd_source=2d34fd2352ae451c4f6d4cb20707e169

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/659555.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c# winform 控件皮肤

控件皮肤下载: https://download.csdn.net/download/m0_46973223/89225992 步骤: 第一步 将IrisSkin4.dll文件放在debug文件下,选一个或者多个后缀名为.ssk文件(各个皮肤文件)放在debug文件下。 第二步 解决方案资…

物联网的基本功能及五大核心技术——青创智通

工业物联网解决方案-工业IOT-青创智通 物联网基本功能 物联网的最基本功能特征是提供“无处不在的连接和在线服务”,其具备十大基本功能。 (1)在线监测:这是物联网最基本的功能,物联网业务一般以集中监测为主、控制为…

最新全国区划编码

一、数据来源 国家统计局2023年数据: 二、区划编码现成文件 1、获取方式: csdn:资源绑定v:JFAN0329 三、python部分代码分析 import timeimport requests from bs4 import BeautifulSoup import re import xlsxwriterdef mainClass()…

618狂欢来袭!这些数码好物,你绝对不能错过!

在一年一度的618购物狂欢盛宴中,面对浩如烟海的商品,不少朋友恐怕都感到无从下手,不知该如何在琳琅满目的选项中做出明智的选择。作为资深的购物爱好者,我们深知挑选高性价比、物超所值的好物的重要性,让每一次购物都成…

【Flask开发实战】登录模块页面模板及渲染

1、规划蓝图目录 上一章节中讲述了蓝图的作用和使用示例,此章节通过登录模块的介绍,加深对蓝图使用理解。为了解决项目中不同代码的分开编写管理和重复使用问题,我们在flask项目中引入了蓝图使用。 在使用蓝图前,我们在项目主目…

无法定位程序输入点QTextStream

当您的应用在调试模式下运行正常,但在发布(发布构建)后出现错误时,可能涉及到以下几个常见的原因: 动态链接库问题:发布构建可能没有包含必要的动态链接库(DLL),或者没有…

V23 中的新增功能:LEADTOOLS React Medical Web 查看器

LEADTOOLS (Lead Technology)由Moe Daher and Rich Little创建于1990年,其总部设在北卡罗来纳州夏洛特。LEAD的建立是为了使Daher先生在数码图象与压缩技术领域的发明面向市场。在过去超过30年的发展历程中,LEAD以其在全世界主要国家中占有的市场领导地位…

深入了解 Google Gemini:主要功能是什么以及我们为什么要使用它?

Google Gemini:AI新纪元的里程碑 Google Gemini 简介Google Gemini 代表了 AI 开发的一个重要里程碑,彰显了 Google 对推动 AI 技术的坚定承诺。它以其创新功能脱颖而出,重新定义了机器学习和 AI 中的可能性,标志着 AI 功能的新时…

小米汽车充电枪继电器信号

继电器型号: 参考链接 小米SU7,便捷充放电枪拆解 (qq.com)https://mp.weixin.qq.com/s?__bizMzU5ODA2NDg4OQ&mid2247486086&idx1&sn0dd4e7c9f7c72d10ea1c9f506faabfcc&chksmfe48a110c93f2806f6e000f6dc6b67569f6e504220bec14654ccce7d…

使用yolo识别模型对比两张图片并标记不同(2)

上篇文章有漏洞,在这里补充下,比如要识别第二张图相对于第一张图的违建是否拆除了 第一步旋转对其后,图片会有黑色的掩码,如果旋转角度大的话,没识别出来的框可能不是已经拆除了,而是因为黑色掩码遮挡&…

数据结构八:线性表之循环队列的设计

上篇博客,学习了栈,我们可以知道他也是一种线性表,遵从先进后出的原则,在本节,我们进一步学习另一种线性表—队列。就像饭堂里排队打饭的的队伍,作为一种先进先出的线性表,他又有哪些特别之处呢…

实力蝉联!新点软件连续三年稳居“软件行业应用领军企业”阵营

4月24日,由中国软件行业协会举办的第三届中国国际软件发展大会暨中国软件行业协会成立四十周年纪念活动在北京举行。 大会颁布了2023年度中国软件行业系列奖项,新点软件斩获“2023年软件行业应用领军企业” “中国软件诚信示范企业”两大奖项&#xff1…