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.mzph.cn/web/5200.shtml

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

相关文章

Flutter 有什么优异特性和革命性创新之处?

Flutter 有什么优异特性和革命性创新之处? 什么是 Flutter? Flutter mobile app SDK是一种新的方式来构建漂亮的原生移动应用程序,摆脱过去常见的“千篇一律”的应用程序。用过Flutter的人都对它赞赏有加; 相比较其他新型系统&#xff0c…

UI设计饱和了吗?赚钱吗?

UI设计饱和了吗?赚钱吗? 关于UI设计行业是否饱和了呢,这个问题其实比较有趣。在当下,请说出一个看起来没有饱和并且你会很想去做且能做的职业?有没有?没有!很多人都太浮躁。眼高手低。 那么好…

如何用揿针治疗慢性咽炎?

点击文末领取揿针的视频教程跟直播讲解 在日常生活中,慢性咽炎极为常见,不致命却很恼人。一旦发作,你的喉咙每天都会不舒服,总感觉有东西堵着,但是呢,咳又咳不出来,咽也咽不下去,你…

五一劳动节,祝你劳动快乐,休息更快乐!

五一国际劳动节亦称“五一节”,在每年的五月一日。此节源于美国芝加哥城的工人大罢工。Labour Day also known as "51" on May 1 of each year.This section comes from the city of Chicago workers strike. 1886年5月1日,芝加哥的二十一万六…

Java 设计模式(结构型)

文章目录 代理模式门面模式外观模式桥接模式适配器模式享元模式装饰器模式组合模式 代理模式 代理模式是一种结构型设计模式,允许在访问对象时提供一种代理以控制对该对象的访问。代理模式通常在客户端和实际对象之间引入了一个代理对象,客户端通过代理…

opencv_23_高斯模糊

void ColorInvert::gaussian_blur(Mat& image) { Mat dst; GaussianBlur(image, dst, Size(0, 0), 15); // Size(2, 2), imshow("图像模糊2", dst); }

最新CRM系统评测:发现双重功能的好用客户关系管理系统

对于绝大多数企业来说,拥有强大的销售能力是实现增长、获得收益的关键。在如今企业数字化的大背景下,我们经常会听到关于自动化的讨论,也有声音会说,企业数字化成功与否的标准之一就是自动化程度。销售自动化(SFA&…

集成框架 -- OSS

前言 接入oss必须有这两个文档基础 使用STS临时访问凭证访问OSS_对象存储(OSS)-阿里云帮助中心 前端上传跨域 正文 sts前后端通用,开通图示 AliyunSTSAssumeRoleAccess 后端实现代码 public static void main(String[] args) {String regionId "cn-ha…

Emby Notifier——一个媒体通知推送服务

Emby Notifier 这是另一个项目 watchdog_for_Emby 的最新优化版本,取消了 nfo 文件的监视依赖,该版本不再需要手动设置媒体库路径,对通过网盘挂载生成的媒体库更加友好~ Emby Server 版本 (重要!!!) 4.8.0…

【会员单位】浙江晧月水务科技有限公司

中华环保联合会理事单位 水环境治理专业委员会副主任委员单位 公司成立于2018年3月14日,是专业研究废水处理业务的国家高新技术企业。 公司自主研发的脱硫废水“零排放”的技术,不仅适应性好,技术先进,智慧化程度高&#xff0c…

Leetcode—1041. 困于环中的机器人【中等】

2024每日刷题&#xff08;121&#xff09; Leetcode—1041. 困于环中的机器人 实现代码 class Solution { public:bool isRobotBounded(string instructions) {int x 0;int y 0;int d 0;vector<vector<int>> direction{{0, 1}, {1, 0}, {0, -1}, {-1, 0}};for…

机遇与挑战并存的Agent

随着大模型技术的突飞猛进,如GPT-4、Baichuan-3等的问世,人们对 Agent AI 智能体的未来发展普遍持乐观态度。这些先进的语言模型极大地提升了智能体的语言理解和生成能力,使其在自然语言处理任务上接近甚至超越人类水平。同时,多模态大模型的崛起,让智能体具备了多种形式的感知…

C++二要素认证,游戏实名认证接口、金融实名认证

随着移动互联的发展&#xff0c;越来越多的企业在金融市场都想分一杯羹&#xff0c;而哪种理财产品才是人们放心的理财产品呢&#xff1f;我们都知道理财产品开户都需要上传身份证号核验和图像进行验证&#xff0c;以保证个人信息的真实性&#xff0c;那么这些是如何来判别身份…

网络安全主题纪录片

网络安全主题纪录片 文章目录 网络安全主题纪录片第四公民黑客帝国系列龙纹身女孩碟中谍系列虎胆龙威4匿名者终结者2&#xff1a;审判日东方快车谋杀案黑客国家公敌我是谁&#xff1a;没有绝对安全的系统黑客军团速度与激情系列十亿美元大劫案勒索软件的背后黑客的恐惧为什么网…

【LeetCode周赛】第 394 场周赛

目录 3120. 统计特殊字母的数量 I 简单3121. 统计特殊字母的数量 II 中等3122. 使矩阵满足条件的最少操作次数 中等3123. 最短路径中的边 困难 3120. 统计特殊字母的数量 I 简单 3120. 统计特殊字母的数量 I 分析&#xff1a; 模拟即可 代码&#xff1a; class Solution { …

Map的compute方法详解(Java)

1.compute方法 compute 方法是 Map 接口中的一个方法&#xff0c;用于根据指定的键和计算函数对指定键的值进行修改。 方法的签名如下&#xff1a; default V compute(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction)key&#xff1a;要操…

兰姆顿食尸鬼

弗农弗罗斯特(出生日期不详- 1891年11月13日)&#xff0c;加拿大佃农&#xff0c;杀人犯&#xff0c;被认为是超自然的存在[谁知道?被称为“兰姆顿食尸鬼”。 背景 弗农弗罗斯特在1858年之前的生活细节是未知的&#xff0c;当时他在安大略省兰姆顿县的一个苹果园工作。根据土…

Python实用记录(十六):PyQt/PySide6联动VSCode便捷操作指南

文章目录 一、安装vscode和配置pyside6环境二、安装vscode扩展三、扩展配置编辑四、编辑运行 一、安装vscode和配置pyside6环境 这一步默认已经通过了 二、安装vscode扩展 三、扩展配置编辑 四个地方需要修改&#xff1b;rcc路径、uic路径、designer.exe路径 uic.exe 用于将…

基于Docker + Locust的数据持久化性能测试系统

前几天给大家分享了如何使用Locust进行性能测试&#xff0c;但是在实际使用中会发现存在压测的结果无法保存的问题&#xff0c;比如在分布式部署情况下进行压测&#xff0c;每轮压测完成需要释放资源删除容器重新部署后&#xff0c;这段时间的压测结果就都丢失了&#xff0c;如…

docker-compose docker的批量管理工具

安装 apt-get install docker-compose -y # 查看版本 docker-compose -v设置容器自启动&#xff1a;–restartalways docker run -it -d --restartalways nginx:1.16docker-compose.yml配置文件&#xff0c;该文件的缩进必须是三个空格&#xff0c;使用的是yaml语法。 versi…