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])
  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
重庆邮电大学【实验】python程序设计实验8- python科学计算和数据可视化是计算机科学与技术专业的一门实验课程,旨在让学生掌握使用python进行科学计算和数据可视化的基本方法和技巧。 在本实验中,学生将学习使用python中的一些科学计算库,如NumPy、SciPy和Pandas来处理和分析数据。通过学习这些库的使用,学生将能够实现一些常见的科学计算任务,例如数据的统计分析、插值和拟合、优化和数值积分等。 此外,学生还将学习使用Matplotlib和Seaborn等库进行数据可视化。通过这些库,学生可以将数据以图形的形式呈现出来,从而更直观地理解数据的内在规律和趋势。学生将学习如何绘制各种类型的图形,如折线图、柱状图、散点图、饼图等,并学会如何对图形进行修改和美化,使其更具艺术性和信息传达效果。 在实验过程中,学生将通过一系列的练习和实例来巩固所学的知识和技能。通过实际操作,学生将进一步理解和掌握python程序设计中的一些概念和技巧,并通过完成实验报告来展示自己的工作成果。这样的实践过程旨在帮助学生熟悉和掌握科学计算与数据可视化在实际工作中的应用,培养他们的问题解决能力和实践能力。 通过本实验,学生将进一步提高自己在python程序设计方面的能力,拓宽对科学计算和数据可视化的理解,为将来的研究和工作打下坚实的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值