python语法4——数据可视化

JSON 数据格式转换

JSON是一种轻量级的数据交换格式。本质是带有特定格式的字符串。

简单说是python字典或者列表(嵌套字典)。

# 导入json模块
import json
# 准备符合json格式的python数据
data = [{"name":"chen", "age":22}, {"name":"yu", "age":22}]
# 通过json.dumps(data)方法把python数据转化为json数据
data = json.dumps(data, ensure_ascii=False)

# 通过json.loads(data)方法把json数据转化为python数据
data = json.loads(data)

pyecharts模块

  • 全局配置选项
  • 系列配置选项
# 导包,导入Line功能构建折线图对象
from pyecharts.charts import Line
from pyecharts.options import TitleOpts, LegendOpts, ToolboxOpts, VisualMapOpts
# 得到折线图对象
line = Line()
# 添加x轴
line.add_xaxis(["一班", "二班", "三班", "四班"])
# 添加y轴
line.add_yaxis("人数", [50, 40, 40, 40])

# 全局配置 set_global_opts方法,
line.set_global_opts(
    title_opts=TitleOpts(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)
)
# 生成图表
line.render()

数据处理

# 处理数据
import json
from pyecharts.charts import *
from pyecharts.options import *
us_f = open("E:\网盘下载\资料\第1-12章资料\资料\可视化案例数据\折线图数据\美国.txt", "r", encoding="utf-8")
us_data = us_f.read()  # 读取全部内容
jp_f = open("E:\网盘下载\资料\第1-12章资料\资料\可视化案例数据\折线图数据\日本.txt", "r", encoding="utf-8")
jp_data = jp_f.read()  # 读取全部内容
in_f = open("E:\网盘下载\资料\第1-12章资料\资料\可视化案例数据\折线图数据\印度.txt", "r", encoding="utf-8")
in_data = in_f.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(", "")
# 处理结尾
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
us_trend = us_dict["data"][0]["trend"]
jp_trend = jp_dict["data"][0]["trend"]
in_trend = in_dict["data"][0]["trend"]
# 获取日期数据,用于x轴,取2020年
us_x = us_trend["updateDate"][:314]
jp_x = jp_trend["updateDate"][:314]
in_x = in_trend["updateDate"][:314]

us_y = us_trend["list"][0]["data"][:314]
jp_y = jp_trend["list"][0]["data"][:314]
in_y = in_trend["list"][0]["data"][:314]

# 生成图表
line = Line()
# 添加x轴数据
line.add_xaxis(us_x)

line.add_yaxis("美国确诊人数", us_y, label_opts=LabelOpts(is_show=False))
line.add_yaxis("日本确诊人数", jp_y, label_opts=LabelOpts(is_show=False))
line.add_yaxis("印度确诊人数", in_y, label_opts=LabelOpts(is_show=False))

line.set_global_opts(
    # 标题设置
    title_opts = TitleOpts(title="2020年美日印确诊人数曲线", pos_left="center", pos_bottom="1%")
)
# 生成图表
line.render()
us_f.close()
jp_f.close()
in_f.close()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值