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

json

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

功能

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

格式

json的格式要求较为严格,故直接给出样例。

其实json的格式与python中的字典和列表相似

python 复制代码
1.{"abc":"def","kew":1}

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

python和json的转化

python中内置了json模块,可以直接使用

python 复制代码
import json

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

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

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

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

python 复制代码
data = json.dumps(data,ensure_ascii=False)

pyecharts模块

可以辅助做出数据可视化图
安装pyecharts

直接pip install pyecharts即可

构建基础折线图

python 复制代码
# 导入模块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方法进行配置:

python 复制代码
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解析工具进行可视化分析)

例如:

python 复制代码
data_y = dic_us['data'][0]['trend']['list'][0]['data']
data_x = dic_us['data'][0]['trend']['updateData'][:314]

构建基础地图

python 复制代码
# 导入
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()

全局选项

python 复制代码
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如果不写全就无法识别,数据就无法填上去,不过在构建地图的时候,省份的地图不需要加省或市。

构建基础柱状图

python 复制代码
from pyecharts.charts import Bar

bar = Bar()

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

bar.render()

反转x轴和y轴

python 复制代码
bar.reversal_axis()

修改数值显示位置

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

创建时间线

python 复制代码
from pyecharts.charts import Timeline

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

timeline = Timeline()

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

timeline.render()

实现自动播放

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

时间线设置主题

python 复制代码
from pyecharts.globals import ThemeType

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

------------------------------------------------------------------------------------------From B站黑马程序员

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

python 复制代码
lst = [['a',1],['b',2]]

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

lst.sort(key = func)

# 也可以写成匿名函数的形式
lst.sort(key = lambda element:element[1])
相关推荐
c_lb72884 小时前
最新AI量化练习,小策略更适合练流程感
人工智能·python
hssfscv4 小时前
QT的学习笔记4——QMainWindow、资源文件以及主要控件的介绍
笔记·qt·学习
电化学仪器白超4 小时前
低阻域 ADC 与参考源选型理论分析
人工智能·python·单片机·嵌入式硬件·自动化
小小的代码里面挖呀挖呀挖4 小时前
杰理蓝牙耳机开发--LE Audio与游戏耳机应用
笔记·单片机·物联网·学习
AI科技星5 小时前
《01无穷全域信息场论:算子G与宇宙本体高维完备公理大典》
人工智能·python·算法·金融·乖乖数学·全域数学
小Q蒙蒙5 小时前
基于AI大模型,将自然语言需求自动转化为结构化测试用例
人工智能·python·ai·测试用例
一楼的猫6 小时前
AI写作检测机制技术深度解析:200+维度检测、叙事指纹与网文AI辅助怎么过审
人工智能·学习·安全·chatgpt·ai写作
2601_962341306 小时前
计算机毕业设计之jsp考研在线复习平台
java·大数据·开发语言·hadoop·python·考研·课程设计
报错小能手6 小时前
OpenTenBase学习——分布式数据库 / 集群主流架构分类
学习
云烟成雨TD7 小时前
LangFlow 1.x 系列【7】工作流创建与部署指南
人工智能·python·agent