B站python入门学习---第一阶段第十章 数据可视化

*JSON数据格式

JSON是一种轻量级的数据交互格式,需要按照JSON指定的规则去组织和封装数据,其本质就是带有特定格式的字符串。

主要功能,负责不同编程语言中的数据传递和交换。JSON作为其中的“中转”。

微信图片_20250904221617_40_91

JSON格式:一般是形如python中的字典格式,或者是元素内容为字典类型的列表格式

微信图片_20250904221818_41_91

json模块的dumps()和loads()方法负责JSON格式数据和python数据类型的转换

"""
演示JSON数据和python字典的转换
"""
import json

#准备一个元素为字典格式的列表,将其转换为JSON
data = [{"name" : "Tom", "age" : 18},
        {"name" : "Jackie", "age" : 22},
        {"name" : "Micky", "age" : 16},
        {"name" : "Hanson", "age" : 19}]

json_data = json.dumps(data)  #如果涉及中文,要加第二个参数ensure_ascii = False
print(type(json_data))   #转换后json数据格式为字符串
print(json_data)

#将字典转换为JSON
info_d = {"name" : "周杰林", "addr" : "台北", "age" : 45}
json_info_d = json.dumps(info_d, ensure_ascii=False)
print(type(json_info_d))
print(json_info_d)


#把JSON格式字符串转换为python里的数据格式
json_str = '[{"name" : "Tom", "age" : 18}, {"name" : "Jackie", "age" : 22}, {"name" : "Micky", "age" : 16}, {"name" : "Hanson", "age" : 19}]'

json_data1 = json.loads(json_str)
print(type(json_data1))
print(json_data1)

info_s = '{"name" : "周杰林", "addr" : "台北", "age" : 45}'

json_data2 = json.loads(info_s)
print(type(json_data2))
print(json_data2)

*pyecharts模块介绍

 Echarts是百度提供的数据可视化的开源框架,Pyecharts是其python版本。

一个基础折线图构建的代码:

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

#创建一个折线图对象
line = Line()

#添加x轴数据
line.add_xaxis(["中国", "美国", "英国", "日本", "德国", "俄罗斯", "法国", "印度"])

#添加y轴数据
line.add_yaxis("全球影响力指数", [80, 120, 70, 62, 68, 82, 72, 65])

#将line对象生成为图像
line.render()

pyecharts模块中有很多配置选项,常用的有两种类别选项:

1、全局配置选项:一般是对整体图像的配置选项,如标题,图例,工具箱等;通过set_global_options方法设置。TitleOpts为标题配置项,LegendOpts为图例配置项,ToolboxOpts为工具箱配置项,VisualMapOpts为视觉映射配置项,TooltipOpt为提示框配置项等;

2、系列配置选项:一般是针对具体的轴数据进行配置。

全局配置选项的示例:

#导入pyecharts中charts模块中的Line功能
from pyecharts.charts import Line
from pyecharts.options import TitleOpts, LegendOpts, ToolboxOpts, VisualMapOpts

#创建一个折线图对象
line = Line()

#添加x轴数据
line.add_xaxis(["中国", "美国", "英国", "日本", "德国", "俄罗斯", "法国", "印度"])

#添加y轴数据
line.add_yaxis("全球影响力指数", [80, 120, 70, 62, 68, 82, 72, 65])

#设置全局配置项
line.set_global_opts(
    #设置标题名称及位置,需要导入TitleOpts模块
    title_opts = TitleOpts(title="全球影响力指数数据", pos_left="center", pos_bottom="2%"),
    #设置图例,需要导入LegendOpts模块
    legend_opts = LegendOpts(is_show=True),
    #设置工具箱,需要导入ToolboxOpts模块
    toolbox_opts = ToolboxOpts(is_show=True),
    #设置视觉映射,需要导入VisualMapOpts模块
    visualmap_opts = VisualMapOpts(is_show=True)
)

#将line对象生成为图像
line.render()

 

posted @ 2025-09-06 08:45  tsembrace  阅读(15)  评论(0)    收藏  举报