python基础语法学习(工程向)-Stage3-数据可视化

json

是一种轻量的数据交互格式,可以按照json指定的格式去组织和封装数据,而本质上是一个带有特定格式的字符串。

功能
json是在各个编程语言中流通的数据格式,负责不同编程语言之间的数据传递和交互。

格式
json的格式要求较为严格,故直接给出样例。
其实json的格式与python中的字典和列表相似

1.{"abc":"def","kew":1}

2.[{"a":"b","c":"d"},{"e":2,"f":3}]

python和json的转化
python中内置了json模块,可以直接使用

import json

#python类型数据
data = [{"a":"b","c":"d"},{"e":2,"f":3}]

#转化为json
data = json.dumps(data)

#转化回python格式
data = json.loads(data)

而python转json的时候可能会把中文编程一串英文,如果要保证中文不会被改变,就可以这样:

data = json.dumps(data,ensure_ascii=False)

pyecharts模块

可以辅助做出数据可视化图
安装pyecharts
直接pip install pyecharts即可

构建基础折线图

# 导入模块Line功能
from pyecharts.charts import Line

# 得到折线图对象
line = Line()

# 添加x轴数据
line.add_xaxis(['a','b','c'])

# 添加y轴数据
line.add_yaxis('value',[30,20,10])

# 生成图表
line.render()

注意line.render()里面可以写上文件名,类似于"xxx.html",并且也可以写上路径使其生成到指定的路径

pyecharts配置选项

  • 全局配置选项:即对整个图像进行设置,例如图像的标题或者轴
  • 系列配置选项:即对轴上的值进行配置

全局配置选项

set_global_opts
在这里插入图片描述

——————————————————————————————————From pyecharts.org

运用set_global_opts方法进行配置:

from pyecharts.options import TitleOpts,LegendOpts,ToolboxOpts,VisualMapOpts,TooltipOpts

line.set_global_opts(
	# title:标题,pos_left:离左边有多远,pos_bottom:离底部有多远,同时也有距离右边等等
	title_opts = TitleOpts(title = 'title',pos_left = 'center',pos_bottom = '%1'),
	# 是否展示图例
	legend_opts = LegendOpts(is_show = True),
	# 是否展示工具箱
	toolbox_opts = ToolboxOpts(is_show = True),
	# 是否展示视觉映射配置项
	visualmap_opts = VisualMapOpts(is_show = True),
	# 是否展示提示框配置项
	tooltip_opts = TooltipOpts(is_show = True),
)

在实际开发的过程中,我们拿到的json文件可能并不符合python标准,介时需要进行规整

数据的选择

如果我们拿到了json文件之后,里面可能有很多我们根本用不到的数据,那么这时候我们可以利用json在python中已经转为了字典,直接取到特定的数据(可以利用json解析工具进行可视化分析)

例如:

data_y = dic_us['data'][0]['trend']['list'][0]['data']
data_x = dic_us['data'][0]['trend']['updateData'][:314]

构建基础地图

# 导入
from pyecharts.charts import Map
from pyecharts.options import VisualMapOpts

# 初始化
map = Map()

# 准备数据
data = [('province_name1',1),('province_name2',2)]

# 添加数据
map.add('map',data,'china')

# 绘图
map.render()

全局选项

map.set_global_opts(
	visualmap_opts = VisualMapOpts(
	# 开启地图着色
	is_show = True,
	# 开始自定义范围
	is_piecewise = True,
	pieces=[
		{'min':1,'max':9,'label':'1-9','color':'#CCFFFF'},
		{'min':10,'max':99,'label':'10-99','color':'#FFFF99'}
	])
)

在这里注意,数据记录时需要把省份的全称写上去,比如“北京市”,现版本pyecharts如果不写全就无法识别,数据就无法填上去,不过在构建地图的时候,省份的地图不需要加省或市。

构建基础柱状图

from pyecharts.charts import Bar

bar = Bar()

bar.add_xaxis(['a','b','c'])
bar.add_yaxis('d',[1,2,3])

bar.render()

反转x轴和y轴

bar.reversal_axis()

修改数值显示位置

bar.add_xaxis('c',[1,2,3],label_opts=LabelOpts(position='right')) # 改到右侧显示

创建时间线

from pyecharts.charts import Timeline

bar1 = Bar()
...
bar2 = Bar()
...

timeline = Timeline()

timeline.add(bar1,'2023')
timeline.add(bar2,'2024')

timeline.render()

实现自动播放

timeline.add_schema(
	play_interval = 1000,	# 自动播放间隔,单位为毫秒
	is_timeline_show = 1,	# 是否显示时间线
	is_auto_play = 1,		# 是否自动播放
	is_loop_play = 1		# 是否循环自动播放
)

时间线设置主题

from pyecharts.globals import ThemeType

timeline = Timeline(
	{'theme':ThemeType.LIGHT}
)

在这里插入图片描述
——————————————————————————————From B站黑马程序员

在python中实现按照排序函数进行排序

lst = [['a',1],['b',2]]

def func(element):
	return element[1] # 按照第二个元素进行排序

lst.sort(key = func)

# 也可以写成匿名函数的形式
lst.sort(key = lambda element:element[1])

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Proxmox VE (PVE) 教学 (3) | 在 Proxmox VE 中安装与配置 OpenWrt

大家好,很长时间没有更新这个系列了。最近正在开发新项目,刚刚想起来我是不是还有一个什么专栏没更新。 本期的网络配置背景同于前两期的描述( 详见https://www.hestudio.net/category/proxmox-ve/ ),这一期只是对网络配置的扩展,也就是安装软路由,实现网络配置的更多功…

高效、智能、安全:小型机房EasyCVR+AI视频综合监控解决方案

一、背景需求分析 随着信息技术的迅猛发展,小型机房在企事业单位中扮演着越来越重要的角色。为了确保机房的安全稳定运行,远程监控成为了必不可少的手段。 二、视频监控 视频监控是机房远程监控的重要组成部分。通过安装IP摄像机及部署视频监控系统Ea…

C++智能指针auto_ptr(有缺陷已废弃)

一、auto_ptr不能共享所有权 auto_ptr类没有拷贝构造函数。可以看出将Right对象的资源释放掉了。 在下面的操作中,ptr1的值给ptr2,那么此时ptr1的值将会为nullptr。在构造和赋值都发生了所有权的转移。调用函数的时候,接收参数的时候同样也会…

统一数据治理平台OpenMetadata 1.4.0版本发布!数据血缘、高级数据质量报告功能发布!...

OpenMetadata作为数据治理和元数据管理领域的领先开源平台,持续致力于满足数据用户和组织的多样化需求。最新的1.4.0版本为用户带来了一系列创新功能和重大改进,进一步增强了平台的功能性和易用性。 我们在社区统计数据中也看到了OpenMetadata的增长&…

JVM 基本组成

一、为什么要学习 JVM ? 1. “ ⾯试造⽕箭,⼯作拧螺丝” , JVM 属于⾯试官特别喜欢提问的知识点; 2. 未来在⼯作场景中,也许你会遇到以下场景: 线上系统突然宕机,系统⽆法访问,甚⾄直…

谷粒商城实战(042集群学习-mysql集群-主从同步)

Java项目《谷粒商城》架构师级Java项目实战,对标阿里P6-P7,全网最强 总时长 104:45:00 共408P 此文章包含第361p-第p363的内容 集群 集群的基础形式 MySQL集群 MMM机制 这里使用了vip虚拟ip方式(如192.168.0.101,192.168.0.102&…

Qt Quick 教程(一)

文章目录 1.Qt Quick2.QML3.Day01 案例main.qml退出按钮,基于上面代码添加 4.使用Qt Design StudioQt Design Studio简介Qt Design Studio工具使用版本信息 1.Qt Quick Qt Quick 是一种现代的用户界面技术,将声明性用户界面设计和命令性编程逻辑分开。 …

【Hive安装】— “schematool -initSchema -dbType mysql -verbose” 报错!!!

项目场景:Hive 元数据配置到 MySQL 执行 “schematool -initSchema -dbType mysql -verbose” 命令 问题描述 报错:org.apache.hadoop.hive.metastore.HiveMetaException: Schema initialization FAILED! Metastore state would be inconsistent !! 原因…

Exploring Performance and Cost Optimization with ASIC-Based CXL Memory——论文阅读

EuroSys 2024 Paper CXL论文阅读笔记整理 问题 随着内存密集型应用程序对内存需求的增加,受限于物理限制,如DDR DIMM插槽的可用性和发热问题,以及使用高密度DIMM的成本考虑,现代应用程序的内存需求很容易超过单机的内存容量[2&a…

【漏洞复现】海康威视 综合安防管理平台 session接口 远程代码执行漏洞

免责声明: 本文内容旨在提供有关特定漏洞或安全漏洞的信息,以帮助用户更好地了解可能存在的风险。公布此类信息的目的在于促进网络安全意识和技术进步,并非出于任何恶意目的。阅读者应该明白,在利用本文提到的漏洞信息或进行相关测…

【2024最新华为OD-C/D卷试题汇总】[支持在线评测] K小姐的座位分配(100分) - 三语言AC题解(Python/Java/Cpp)

🍭 大家好这里是清隆学长 ,一枚热爱算法的程序员 ✨ 本系列打算持续跟新华为OD-C/D卷的三语言AC题解 💻 ACM银牌🥈| 多次AK大厂笔试 | 编程一对一辅导 👏 感谢大家的订阅➕ 和 喜欢💗 &#x1f…

42、基于神经网络的训练堆叠自编码器进行图像分类(matlab)

1、训练堆叠自编码器进行图像分类的原理及流程 基于神经网络的训练堆叠自编码器进行图像分类的原理和流程如下: 堆叠自编码器(Stacked Autoencoder)是一种无监督学习算法,由多个自编码器(Autoencoder)堆叠…

【Windows】配置Flutter开发环境

一、下载 flutter sdk 点此跳至下载官网 下载好flutter sdk,并解压到自定义的位置。 二、配置环境变量 此电脑 --> 右键 选择 属性 --> 点击 高级系统设置 --> 会弹出系统属性的窗口,点击 环境变量 按钮 1.配置加速镜像地址 PUB_HOSTED_…

IP协议的相关特性

IP协议的报文结构 如图: 上述的IP协议是ipv4的版本,如上述图中的4位版本号。 现当今的世界仅有两个版本分为ipv4和ipv6。 在这里我以ipv4来介绍IP协议。 IP协议的报头最长为60个字节,最短为20个字节。 如图8个服务类型: 这里不…

python5 正则表达式

Python中的正则表达式是一种强大的工具,用于在文本中搜索、匹配和处理特定模式的字符串。它们通过定义一种模式,使得可以轻松地搜索、替换、提取和验证文本数据,在Python中的正则表达式由re模块提供支持的。 正则表达式通常用于以下任务&…

【HTML01】HTML基础-基本元素-附带案例-作业

文章目录 HTML 概述学HTML到底学什么HTML的基本结构HTML的注释的作用html的语法HTML的常用标签:相关单词参考资料 HTML 概述 英文全称:Hyper Text Markup Language 中文:超文本标记语言,就将常用的50多个标记嵌入在纯文本中&…

AI办公自动化:用通义千问批量翻译长篇英语TXT文档

在deepseek中输入提示词: 你是一个Python编程专家,现在要完成一个编写基于qwen-turbo模型API和dashscope库的程序脚本,具体步骤如下: 打开文件夹:F:\AI自媒体内容\待翻译; 获取里面所有TXT文档&#xff…

【博弈】843. 猜猜这个单词

本题涉及知识点 博弈 LeetCode843. 猜猜这个单词 给你一个由 不同 字符串组成的单词列表 words ,其中 words[i] 长度均为 6 。words 中的一个单词将被选作秘密单词 secret 。 另给你一个辅助对象 Master ,你可以调用 Master.guess(word) 来猜单词&…

APS-SCM联动:开创生产调度与供应链管理新篇章

在当今激烈的市场产品竞争环境下,企业不仅需要灵活高效的内部生产流程,更需具备对外部环境快速响应的能力,从而保证产品保质保量的生产完成,快速占据更多的市场份额。正是在这样的背景下,APS(Advanced Plan…