Python之数据可视化基础

目录

一  JSON数据格式转换

二   pyecharts模块

三   Pyecharts入门

四 数据可视化之疫情折线图 


一  JSON数据格式转换

什么是JSON?

        JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。它以易于阅读和编写的方式来表示结构化数据。JSON常用于Web应用程序之间的数据传输,特别是与前端JavaScript一起使用。它基于JavaScript语法,但可以被多种编程语言支持和使用。

        JSON的优点包括易于阅读和编写、数据格式简洁、跨平台和语言无关、广泛支持等。由于它的普及性和便利性,JSON已成为现代应用程序中常用的数据交换格式之一。

 主要功能:

        JSON就是一种在各个编程语言中流通的数据格式,负责不同编程语言中的数据传递和交互。

JSON格式数据要求

Python数据和JSON数据的相互转换 

二   pyecharts模块

        如果想要做出数据可视化效果图,可以借助pyecharts模块来完成

        pyecharts是个由百度开源的数据可视化,凭借着良好的交互性,精巧的图表设计,得到了众多开发者的认可.而Python是门富有表达力的语言,很适合用于数据处理.当数据分析遇上数据可视化时pyecharts诞生了.

安装pyecharts模块

 1.使用cmd命令行安装

2.使用Pycharm安装

三   Pyecharts入门

基础折线图

 1.使用时先导入包

2.得到折线对象

3.配置x,y参数

4.将代码可视化 

5.运行以后我们会得到一个html文件,点击打开在使用浏览器打开即可

 

pyecharts的配置选项

可参考官网查看:简介 - pyecharts - A Python Echarts Plotting Library built with love.

1.全局配置

set_global_opts方法

添加全局设置项效果 

2.系列配置

 

四 数据可视化之疫情折线图 

1.首先我们手里面有三份Json数据

2.拿到数据以后分析一下:

我们前面提到了JSON数据格式的转换,明显这里格式不匹配,所以我们接下来要用数据容器的一些操作对它处理,得到标准的JSON数据,然后转换为Python的字典操作。 

3.将JSON数据可视化,方便后续找清楚逻辑关系:JSON在线视图查看器(Online JSON Viewer) (ab173.com)

4.编写代码

import json
from pyecharts.charts import Line
from pyecharts.options import TitleOpts,LabelOpts,LegendOpts,ToolboxOpts,VisualMapOpts
#  打开文件
f_us = open("D:/美国.txt","r",encoding="UTF-8")
us_data = f_us.read()f_jp = open("D:/日本.txt","r",encoding="UTF-8")
jp_data = f_jp.read()f_in = open("D:/印度.txt","r",encoding="UTF-8")
in_data = f_in.read()# 去除开头不符合Json数据格式的字符串
us_data = us_data.replace("jsonp_1629344292311_69436(","")
jp_data = jp_data.replace("jsonp_1629350871167_29498(",'')
in_data = in_data.replace("jsonp_1629350745930_63180(",'')
# 去除结尾不符合Json数据格式的字符串
us_data = us_data[:-2]
jp_data = jp_data[:-2]
in_data = in_data[:-2]# 将Json转换为Python字典
us_dict = json.loads(us_data)
jp_dict = json.loads(jp_data)
in_dict= json.loads(in_data)
# 获取trend的key
trend_data = us_dict['data'][0]['trend']
jp_trend_data = jp_dict['data'][0]['trend']
in_trend_data = in_dict['data'][0]['trend']
# 取日期数据用于x轴,取到2020
us_x_data = trend_data['updateDate'][:314]# 取y轴数据
us_y_data = trend_data['list'][0]['data'][:314]
jp_y_data = jp_trend_data['list'][0]['data'][:314]
in_y_data = in_trend_data['list'][0]['data'][:314]
# 获得折线图
line = Line()
# 设置x,y的参数
line.add_xaxis(us_x_data)
line.add_yaxis("美国确诊人数",us_y_data,label_opts=LabelOpts(is_show=False))
line.add_yaxis("日本确诊人数",jp_y_data,label_opts=LabelOpts(is_show=False))
line.add_yaxis("印度确诊人数",in_y_data,label_opts=LabelOpts(is_show=False))line.set_global_opts(# 标题设置title_opts=TitleOpts(title="2020年美日印三国新冠疫情确诊人数对比折线图",pos_left="center",pos_bottom="1%"),legend_opts=LegendOpts(is_show=True),toolbox_opts=ToolboxOpts(is_show=True),visualmap_opts=VisualMapOpts(is_show=True))
# 将代码转可视化
line.render()
# 关闭文件
f_us.close()
f_jp.close()
f_in.close()

 运行效果:

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

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

相关文章

机器学习的精髓-梯度下降算法

目 1. 梯度下降算法2. 梯度下降求解3. 总结 1. 梯度下降算法 梯度下降算法是一种优化算法,用于最小化函数的数值方法。它通过沿着函数梯度的反方向来更新参数,以逐步减小函数值。这一过程重复进行直到达到收敛条件。梯度下降算法有多种变体,…

利用Maven获取jar包

我有一个习惯,就是程序不在线依赖网络的任何包。以前用C#时候虽然用Nuget找包,但是添加引用后又马上把Nuget引用删了,再把Nuget下载的dll拷贝到工程再引用dll。 这样做的好处是: 1.别人得到程序代码可以直接编译,不用…

《WebKit 技术内幕》学习之十四(2):调式机制

2 实践——基础和性能调试 Chromium开发者工具基本上沿用了Web Inspector的功能,所以这一节主要以该开发者工具作为介绍的对象,一起了解开发者工具提供的功能和一些基本的用法,有些用法其实在之前已经介绍过,这里可能为了系统性考…

数据类型(下)

数据类型(下) 1.集合(set)1.1 定义1.2 独有功能1.3 公共功能1.4 转换1.5 其他1.5.1 集合的存储原理1.5.2 元素必须可哈希1.5.3 查找速度特别快1.5.4 对比和嵌套 练习题 强插:None类型2.字典(dict)2.1 定义2…

银行数据仓库体系实践(6)--调度系统

调度系统是数据仓库的重要组成部分,也是每个银行或公司一个基础软件或服务,需要在全行或全公司层面进行规划,在全行层面统一调度工具和规范,由于数据类系统调度作业较多,交易类系统批量优先级高,为不互相影…

基于ssm+vue在线考试系统

摘要 在线考试系统是一种利用现代技术手段实现的教育评估工具,它为学生提供了更灵活、便捷的考试方式,同时为教育机构提供了高效管理和评估学生学业水平的手段。在这个背景下,基于SSM(SpringSpringMVCMyBatis)框架和Vu…

【OCC学习23】使用Draw探索OCC API 【完结】

对于OCC应用开发者来说,OCC的文档虽然不错,但针对具体的需求找到合适的API还是得不断摸索。我发现看Draw的代码是探索OCC API使用的最佳路径。掌握根据Draw命令查找对应代码就能高效找到解决方案。所以这是本系列的最后一篇分享了,个人感觉OC…

重塑网络安全格局:零信任安全架构的崛起与革新

零信任安全架构是一种现代安全模式,其设计原则是“绝不信任,始终验证”。它要求所有设备和用户,无论他们是在组织网络内部还是外部,都必须经过身份验证、授权和定期验证,才能被授予访问权限。简而言之,“零…

Dockerfile里ADD * 保留原来的目录结构

1、问题 给新模块写Dockerfile,很多静态资源分散在各个目录,于是Dockerfile里我直接一句: ADD ./* /dest/镜像出来后,启动容器,进入容器种后发现:文件拷贝成功,但原来的目录结构都不在了&…

【网站项目】基于SSM的251国外摇滚乐队交流和周边售卖系统

🙊作者简介:拥有多年开发工作经验,分享技术代码帮助学生学习,独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。🌹赠送计算机毕业设计600个选题excel文件,帮助大学选题。赠送开题报告模板&#xff…

用javadoc生成springboot的文档

概述:生成 Spring Boot 项目的 JavaDoc 文档与生成普通的 Java 项目类似。 目录 第一步:创建一个springboot项目 第二步:编写pom文件 第三步:运行 Maven 命令生成 JavaDoc 第四步:查看结果 第一步:创建…

AG32VF407 AGRV2K 串口printf调试输出

视频讲解 [AG32VF407]国产MCUFPGA 串口printf调试输出及演示 原理图 测试代码 新建一个platformio工程,复制如下文件到测试工程目录下 E:\tech\AGM-AG32VF\sdk-release\AgRV_pio\platforms\AgRV\boards\agrv2k_407\board.asf E:\tech\AGM-AG32VF\sdk-release\AgRV_…

RCD负载箱的未来发展趋势和创新技术有哪些?

随着科技的不断发展,RCD负载箱作为电力系统中的重要设备,其未来发展趋势和创新技术也将不断涌现。以下是一些可能的发展趋势和创新技术: 1. 智能化:未来的RCD负载箱将更加智能化,能够实现远程监控、故障诊断和自动调节…

Pyside6在Pycharm下安装和使用

目录 一:安装 二:使用 一:安装 打开Pycharm编辑器,file-setting里Python解释器,点击小号,添加模块,搜索Pyside6,安装 安装报错,可能是默认的库安装超时,用其他的源 p…

Mybatis----分页

1.什么是分页 分页(Pagination)是指将大量数据划分为多个页面进行展示的一种技术手段。在数据量较大的情况下,将所有数据一次性显示在页面上会导致加载时间过长和页面过于庞大,影响用户体验和系统性能。分页技术通过划分数据为多…

为何外贸公司应该采用CRM客户管理软件?

在外贸行业中,客户关系管理尤为关键。在当下的大数据背景下,所有规模的外贸公司都迫切地需要进行数字化改造。无论是大型公司还是小型业务,他们都希望通过深入分析客户数据,为用户提供更优的体验,并据此调整企业战略。…

Scrum框架的自组织团队

飞行在天空中的鸟群一会排成一个“一”字,一会排成一个“人”字,它们自由飞翔,又根据不同的风向排列不同的队形减少阻力,达到最高的飞行效率。人类社会中也如此,没有一种不需要调整的通用方法可以适用于所有的工作场景…

【开源】基于JAVA+Vue+SpringBoot的民宿预定管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 用例设计2.2 功能设计2.2.1 租客角色2.2.2 房主角色2.2.3 系统管理员角色 三、系统展示四、核心代码4.1 查询民宿4.2 新增民宿4.3 新增民宿评价4.4 查询留言4.5 新增民宿订单 五、免责说明 一、摘要 1.1 项目介绍 基于…

应急响应-Linux-文件痕迹排查

敏感目录 Linux系统铭感目录如下。 /tmp /tmp目录和命令目录/usr/bin /usr/sbin等经常作为恶意软件下载根目录及相关文件被替换的目录。文件名为crloger8的木马下载到/tmp目录下,如图所示 ~/.ssh及/etc/ssh 需要查看是否存在.ssh或者ssh文件 ls -la /home/on…

力扣354. 俄罗斯套娃信封问题

动态规划 思路: 同时控制 w、h 两个维度比较复杂,可以先固定一个维度,来找出另外一个维度的严格单调序列: 对 w 排序,然后再来找 h 维度严格单调递增序列长度;在 w 排序时,会遇到 w(i) w(j) 的…