Python之数据可视化基础

news2024/11/15 15:48:07

目录

一  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.coloradmin.cn/o/1410123.html

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

相关文章

Linux:Bash中变量的定义与使用

相关文章 Linux专栏https://blog.csdn.net/weixin_45791458/category_12234591.html 在bash shell中,变量(variable)是参数(parameter)的一类,用于存储值,且变量还可以拥有属性(attributes),这通过bash内建命令declare来完成。 一…

Python 第四十三章 MYSQL 补充

多表查询 1.笛卡尔积:将两表所有的数据一一对应,生成一张大表 select * from dep,emp; #两个表拼一起 select * from dep,emp where dep.id emp.dep_id; #找到两表之间对应的关系记录 select * from dep,emp where dep.id emp.dep_id and dep.name技术; #筛选部门名称为技…

springboot优雅停机

import org.springframework.context.annotation.Configuration;import javax.annotation.PreDestroy;Configuration public class DataBackupConfig {PreDestroypublic void backData(){System.out.println("开始备份..."System.currentTimeMillis());System.out.pr…

基于springboot留守儿童爱心网站源码和论文

随着留守儿童爱心管理的不断发展,留守儿童爱心网站在现实生活中的使用和普及,留守儿童爱心管理成为近年内出现的一个热门话题,并且能够成为大众广为认可和接受的行为和选择。设计留守儿童爱心网站的目的就是借助计算机让复杂的管理操作变简单…

如何实现无公网ip远程访问本地websocket服务端【内网穿透】

文章目录 1. Java 服务端demo环境2. 在pom文件引入第三包封装的netty框架maven坐标3. 创建服务端,以接口模式调用,方便外部调用4. 启动服务,出现以下信息表示启动成功,暴露端口默认99995. 创建隧道映射内网端口6. 查看状态->在线隧道,复制所创建隧道的公网地址加端口号7. 以…

数据结构奇妙旅程之二叉树题型解法总结

꒰˃͈꒵˂͈꒱ write in front ꒰˃͈꒵˂͈꒱ ʕ̯•͡˔•̯᷅ʔ大家好,我是xiaoxie.希望你看完之后,有不足之处请多多谅解,让我们一起共同进步૮₍❀ᴗ͈ . ᴗ͈ აxiaoxieʕ̯•͡˔•̯᷅ʔ—CSDN博客 本文由xiaoxieʕ̯•͡˔•̯᷅ʔ 原创 CSDN …

【推荐100个unity插件之16】3D物品描边效果——Quick Outline免费插件

文章目录 前言地址介绍使用例子完结 前言 关于3D描边,其实之前有用shader弄过一个:【实现100个unity特效】shader实现3D物品闪光和描边效果 但是很遗憾的是他不支持URP项目,所以现在推荐这款插件,他能很好的支持URP,…

每日一题 2859. 计算 K 置位下标对应元素的和(简单)

每次有空做每日一题,都碰到简单题。。。。。。 class Solution:def sumIndicesWithKSetBits(self, nums: List[int], k: int) -> int:ans 0for i in range(len(nums)):cnt 0t iwhile t > 0:cnt 1 if t & 1 1 else 0t >> 1ans nums[i] if cnt…

嵌入式工程师如何写好技术文档

嵌入式方案设计文档该怎么写?你是不是从来没有想过这个问题?今天就来分享一篇优秀的文章: 很多技术人自己非常轻视技术文档的书写,然而又时常抱怨文档不完善、质量差、更新不及时…… 这种在程序猿间普遍存在的矛盾甚至已经演变成…

【LeetCode】222. 完全二叉树的节点个数(简单)——代码随想录算法训练营Day16

题目链接:222. 完全二叉树的节点个数 题目描述 给你一棵 完全二叉树 的根节点 root ,求出该树的节点个数。 完全二叉树 的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值&#xf…

电工必备:故障电弧探测器安装方式

故障电弧探测器可以对故障电弧(包括故障并联电弧、故障串联电弧)进行有效的检测, 当检测到线路中存在引起火灾的故障电弧时,可以进行现场的声光报警,并将报警信息传输 给电气火灾监控设备。 故障电弧探测器适用于工…

Python连接MQTT服务器订阅和发布主题-Python物联网开发

一、前言 在物联网开发中,掌握MQTT可以说是一项必备的技能,要使用Python连接MQTT服务器、订阅和发布主题,我们需要导入paho-mqtt库。 二、实现代码 在之前的文章中,我们也介绍了JAVA是如何连接MQTT服务器实现发布和订阅主题的功能…

详细介绍node中动态数据内容的压缩应用

未使用 compression 压缩文件时 代码演示: const express require("express"); // 在node express框架当中,对node express框架进行一个引入const app express(); // 利用express()调用,对实例化对象进行获取app.get("/&q…

外汇天眼:美国证券交易委员会(SEC)采纳了一系列规定,以加强与特殊目的收购公司(SPACs)相关的投资者保护

美国证券交易委员会(SEC)今天通过了一系列新规和修订,以增强特殊目的收购公司(SPACs)的首次公开募股(IPOs)中的披露,并在SPACs与目标公司之间的后续业务合并交易(de-SPAC…

FinBert模型:金融领域的预训练模型

文章目录 模型及预训练方式模型结构训练语料预训练方式 下游任务实验结果实验一:金融短讯类型分类实验任务数据集实验结果 实验二:金融短讯行业分类实验任务数据集实验结果 实验三:金融情绪分类实验任务数据集实验结果 实验四:金融…

蓝桥杯省赛无忧 课件42 插入排序

01 插入排序的思想 02 插入排序的实现 03 例题讲解 #include <iostream> #include <vector> using namespace std; void insertionSort(vector<int>& arr) {int n arr.size();for (int i 1; i < n; i) {// 选择arr[i]作为要插入的元素int key arr…

linux系统配置本地yum源

配置本地yum源原因&#xff1a;没有网络&#xff0c;无法使用yum更新下载软件&#xff0c;所以验旧配置一个本地yum源 第一&#xff1a;挂载镜像或者拷贝一份目录下有repodate文件的源 1&#xff09;虚拟机cd/dvd需要绑定iso镜像文件如上图 2&#xff09;备份/etc/yum.repo.d目…

【SVD生成视频+可本地部署】ComfyUI使用(二)——使用Stable Video Diffusion生成视频 (2023.11开源)

SVD官方主页 &#xff1a; Huggingface | | Stability.ai || 论文地址 huggingface在线运行demo : https://huggingface.co/spaces/multimodalart/stable-video-diffusion SVD开源代码&#xff1a;Github&#xff08;含其他项目&#xff09; || Huggingface 在Comfyui使用&…

【Midjourney】绘画风格关键词

1.松散素描(Loose Sketch) "Loose sketch"&#xff08;松散素描&#xff09;通常指的是一种艺术或设计中的手绘风格&#xff0c;其特点是线条和形状的表现相对宽松、自由&#xff0c;没有过多的细节和精确度。这样的素描通常用于表达创意、捕捉概念或者作为设计的初步…