首页 > 编程语言 >python 图形的数据处理 (折线图为例)

python 图形的数据处理 (折线图为例)

时间:2022-10-20 21:00:42浏览次数:61  
标签:为例 python jp us 314 trend 折线图 data

1.通过json模块对数据进行处理

  • ab173.com 是懒人工具-json在线解析,可以通过他对json数据进行格式化的分析。
"""
演示可视化需求1:折线图开发
"""
import json
from pyecharts.charts import Line
from pyecharts.options import TitleOpts, LabelOpts # 标题的相关设置

# 处理数据
f_us = open("F:/xl_java_stu/折线图数据/美国.txt", "r", encoding="UTF-8")
us_data = f_us.read()  # 美国的全部内容

f_jp = open("F:/xl_java_stu/折线图数据/日本.txt", "r", encoding="UTF-8")
jp_data = f_jp.read()  # 日本的全部内容

f_in = open("F:/xl_java_stu/折线图数据/印度.txt", "r", encoding="UTF-8")
in_data = f_in.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(", "")
# 去掉不合JSON规范的结尾
us_data = us_data[:-2]  # 害怕文件中有用的内容也包含 );,所以不用 replace
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_data = us_dict['data'][0]['trend']
jp_trend_data = jp_dict['data'][0]['trend']
in_trend_data = in_dict['data'][0]['trend']

# 获取日期数据,用于x轴,取2020年(到314下标结束)
us_x_data = us_trend_data['updateDate'][:314]
jp_x_data = jp_trend_data['updateDate'][:314]
in_x_data = in_trend_data['updateDate'][:314]

# 获取确认数据,用于y轴,取2020年(到314下标结束)
us_y_data = us_trend_data['list'][0]['data'][:314]
jp_y_data = jp_trend_data['list'][0]['data'][:314]
in_y_data = in_trend_data['list'][0]['data'][:314]

# 生成图表
line = Line()  # 构建折线图对象
# 添加x轴数据
line.add_xaxis(us_x_data)   # x轴都是共用的,所以一个国家的数据即可
# 添加y轴数据
line.add_yaxis("美国确诊人数", us_y_data, label_opts=LabelOpts(is_show=False))
line.add_yaxis("日本确诊人数", jp_y_data, label_opts=LabelOpts(is_show=False))
line.add_yaxis("印度确诊人数", in_y_data, label_opts=LabelOpts(is_show=False))
# 图中数字太多,看着很混乱,让数字不显示 label_opts=LabelOpts(is_show=False)

# 设置全局选项
line.set_global_opts(
    # 标题设置
    title_opts=TitleOpts(title="2020年美日印三国确诊人数对比折线图", pos_left="center", pos_bottom="1%")
)
# 调用render方法生成图表
line.render()
# 关闭文件对象
f_us.close()
f_jp.close()
f_in.close()

标签:为例,python,jp,us,314,trend,折线图,data
From: https://www.cnblogs.com/dalier/p/16810692.html

相关文章

  • python进阶之路18 os、sys、json模块
    os模块与sys模块os模块主要与操作系统打交道sys模块主要与python解释器打交道os模块(重要)os模块主要与代码运行所在的操作系统打交道importos#1.创建目录(......
  • 吐血整理python数据分析利器pandas的八个生命周期!
    这里从八个pandas的数据处理生命周期,整理汇总出pandas框架在整个数据处理过程中都是如何处理数据的。【阅读全文】也就是从pandas的数据表对象以及数据汇总、数据统计等......
  • python(os模块)
    模块os模块(重要)os模块是python中这里文件和目录最常用的模块,该模块提供了非常丰富的方法用来处理文件和目录。创建文件夹​ os.mkdir():创建一个新的文件夹(目录......
  • 【Python】【爬虫】爬取小说5000章,遇到的爬虫问题与解决思路
    爬虫问题分析回顾之前写了一个爬取小说网站的多线程爬虫,操作流程如下:先爬取小说介绍页,获取所有章节信息(章节名称,章节对应阅读链接),然后使用多线程的方式(pool=Pool(50)),......
  • python self.__dict__.update 批量更新属性的使用
    首先我们回顾下字典的update方法,以及查看对象属性__dict__的使用;然后再看对象.__dict__update的使用 一、字典的update方法1.描述dict.update()update()函数把字典di......
  • Python第七章实验报告
    一、实验题目Python第七章实例和实战作业二、实验目的和要求1.熟悉Pycharm的运行环境2.学习并掌握Python的面向对象程序设计三、主要仪器设备联想小新air15硬件:AMD......
  • 【Python】第3章-15 统计一行文本的单词个数
    本题目要求编写程序统计一行字符中单词的个数。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。输入格式:输入给出一行字符。输出格式:......
  • 【Python】第3章-14 字符串字母大小写转换
    本题要求编写程序,对一个以“#”结束的字符串,将其小写字母全部转换成大写字母,把大写字母全部转换成小写字母,其他字符不变输出。输入格式:输入为一个以“#”结束的字符串(不......
  • python内置模块之os sys 与json
    os模块os模块主要与代码运行所在的操作系统打交道importos1,创建目录(文件夹)os.mkdir(r'd1')#相对路径在执行文件所在的路径下创建目录可以创建单级目录os.mk......
  • 【Python基础学习】第六节 time模块 & datetime模块详解
    Python基础学习之时间模块time模块datetime模块Python中,关于时间的模块,常用为:time&datetime两个模块;时间相关的模块虽然内容挺多,但是并不需要死记硬背,只要留个印象就......