Python基础知识:整理13 利用pyecharts生成折线图

首先需要安装第三方包pyecharts

1 基础折线图

# 导包,导入Line功能构建折线图对象
from pyecharts.charts import Line  # 折线图
from pyecharts.options import TitleOpts   # 标题
from pyecharts.options import LegendOpts  # 图例
from pyecharts.options import ToolboxOpts  # 工具箱
from pyecharts.options import VisualMapOpts  # 视觉映射

# 得到折线图对象
line = Line()

# 添加x轴数据
line.add_xaxis(["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"])

# 添加y轴数据
line.add_yaxis("商家A", [5, 20, 36, 10, 75, 90])

# 设置全局配置项
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)  # 视觉映射
)

# 利用render()方法,生成图像
line.render("./modules/render.html")

代码中的注释是非常清楚了,就不多解释了


2 折线图案例开发

给了3个国家的疫情信息,以json的格式(如下图),需要以折线图的形式展示



对数据进行处理,这里只需要对一个国家的数据进行处理就行了,另外两个复制粘贴就行了

import json
from pyecharts.charts import Line
from pyecharts.options import TitleOpts, TooltipOpts, VisualMapOpts,LabelOpts
# 读取文件数据并处理数据
fr_us = open("./text/美国.txt", "r", encoding='utf-8')
fr_jp = open("./text/日本.txt", "r", encoding='utf-8')
fr_ia = open("./text/印度.txt", "r", encoding='utf-8')

us_data = fr_us.read()
jp_data = fr_jp.read()
ia_data = fr_ia.read()

# 去掉文件中不符合json规范的内容
us_data = us_data.replace('jsonp_1629344292311_69436(', '')
us_data = us_data[:-2]  # 切片,去掉末尾的
jp_data = jp_data.replace('jsonp_1629350871167_29498(', '')
jp_data = jp_data[:-2]  # 切片,去掉末尾的
ia_data = ia_data.replace('jsonp_1629350745930_63180(', '')
ia_data = ia_data[:-2]  # 切片,去掉末尾的

# Json转为Python字典
us_dict = json.loads(us_data)
# print(us_dict)
# print(type(us_dict))
jp_dict = json.loads(jp_data)
ia_dict = json.loads(ia_data)

us_trend_data = us_dict['data'][0]['trend']
# print(us_trend_data)
# print(type(us_trend_data))
jp_trend_data = jp_dict['data'][0]['trend']
ia_trend_data = ia_dict['data'][0]['trend']



us_x_data = us_trend_data['updateDate'][:314]   # 只要一年的日期数据
# print(us_x_data)
# print(type(us_x_data))
jp_x_data = jp_trend_data['updateDate'][:314]
ia_x_data = ia_trend_data['updateDate'][:314]


us_y_data = us_trend_data['list'][0]['data'][:314]
# print(us_y_data)
# print(type(us_y_data))
jp_y_data = jp_trend_data['list'][0]['data'][:314]
ia_y_data = ia_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))    # label_opts=LabelOpts(is_show=False)可以设置图例
line.add_yaxis("日本确诊人数", jp_y_data, label_opts=LabelOpts(is_show=False))
line.add_yaxis("印度确诊人数", ia_y_data, label_opts=LabelOpts(is_show=False))

#  设置全局配置项
line.set_global_opts(
    # 设置标题
    title_opts=TitleOpts(title="世界疫情趋势图", pos_left="center", pos_bottom="1%")
    #
)

# 调用render方法,将图表渲染成html文件
line.render("./modules/world_covid_trend.html")

最后也别忘了关闭文件

fr_us.close()
fr_jp.close()
fr_ia.close()

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/326354.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

CSAPP阅读笔记-程序的机器级表示

程序的机器级表示 计算机执行机器代码,用字节序列编码低级的操作,包括处理数据、管理内存、读写存储设备上的数据,以及利用网络通信。编译器基于编程语言的规则、目标机器的指令集和操作系统遵循的惯例,经过一系列的阶段生成机器…

微信小程序---如何创建分包

1.在项目根目录中,创建分包的根目录,名为subpkg,这个名字可以自己定义 2.在 pages.json 中,和 pages 节点平级的位置声明 subPackages 节点,用来定义分包相关的结构: 3.在分包目录,点击右键新建…

进程切换和是Linux2.6内核中进程调度的算法

正文开始前给大家推荐个网站,前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 进程切换 进程并发就需要做到进程切换,一个CPU一套寄存器但是需要运行的进程有很多…

发票系统对接诺诺平台

诺诺平台判断设备不在线,导致开票失败 代码方面优化:调用接口的时候:是否先调用在线状态检测接口,确认开票设备是在线的状态 ,在调用诺诺平台,不在线直接拦截;例如:这个原理就类似于…

DIYgif表情包怎么做?gif表情包制作方法分享

Gif表情包是我们生活交流中必不可少的一种方式,能够表达自己的心情,也能够调节气氛。平时我们的gif表情包都是从网上下载或是别人发送的,那么我们怎么自己DIYgif表情包呢?这时候,用qq表情在线制作(https://…

在IntelliJ IDEA中集成SSM项目

SSM项目:springMVC为控制器、spring 为事务层、 MyBatis 负责持久 首先看下集成后项目结构: 1、打开IntelliJ IDEA,点击 "File" -> "New" -> "Project"。 点击Finish,此时我们就已经创建了一…

图书信息管理系统

1.程序组成: 源文件:test.cpp,源.cpp 头文件:test.h 2.功能实现: 系统以菜单方式工作,图书信息录入功能,图书信息浏览功能,查询功能删除功能价格排序修改图书信息程序加密 &…

手机更换社保证照片教程来啦,速速查收!

📌线上直接搞定很简单! 没有申领社保卡的姐妹们可以自己申领! 已有社保卡的姐妹可以先挂失然后再申领! 🙌教程 线上更换社保证: 1️⃣打开「掌上12333」,找到电子社保卡 2️⃣点击社保卡申领&am…

关于影视字幕翻译哪个公司比较专业?

现如今,影视剧作为跨文化交流的重要桥梁,正日益受到中国观众的热爱。因此也催生了影视字幕翻译的需求。那么,如何做好影视作品字幕翻译,哪个公司在影视字幕英译中更为专业? 我们知道,字幕翻译是涉外影视作品…

接口测试用例设计 - 实战篇

一.接口测试流程 1.需求讨论 2.需求评审 3.场景设计 4.数据准备 5.执行 二.分析接口文档中哪些元素 1.接口名称 2.接口地址 3.支持格式 4&#xff0…

Spring IOC 源码分析

​ 什么是 IoC IoC (Inversion of control )控制反转。它是一种思想不是一个技术实现。描述的是:Java开发领域对象的创建以及管理的问题。 例如:现有类A依赖于类B。传统的开发方式 :往往是在类A中手动通过new关键字…

C++设计模式

目录 一.概念 1.设计模式概念 2.底层思维与抽象思维 (1)底层思维 (2)抽象思维 3.面向对象 4.软件设计复杂性 (1)软件设计复杂的根本原因 (2)解决复杂性的方法 ① 分解 ②…

C++ Webserver从零开始:基础知识(四)——I/O复用

目录 前言 select系统调用 poll系统调用 epoll系统调用 epoll_create epoll_ctl epoll_wait LT和ET模式 EPOLLONESHOT事件 epoll和select/poll的区别 事件集处理方式 实现原理和效率 其他区别 前言 在第三章中我们大概地讲解了什么是I/O复用,即&#xf…

低聚糖市场分析:预计2029年将达到26亿美元

低聚糖又名寡糖( oligosaccharide)或少糖类,是一种新型功能性糖源,低聚糖集营养、保健、食疗于一体,广泛应用于食品、保健品、饮料、医药、饲料添加剂等领域。 在我国由于低聚糖行业的技术飞速进步,收率和质量明显提高&#xff0…

React关于类组件ts使用

类组件中定义了两个接口的类型, 分别约束自身数据state对象 与父组件通过props传递进来的数据。 在父组件使用子组件 并传递参数;

guns项目 Failed to register @ServerEndpoint class 问题

问题发生所在 socket-business-websocket-7.2.4.jar tomcat发布测试的时候报Failed to register ServerEndpoint class ,查询jar报主要是WebSocketServer 类加载有问题,把jar报中该类注掉,重新实现这个类,删除Component注解问题&…

uibot-native-message-plug5.1.2_0.zip

网上下载的5.1.1 不好用,于是自己找了一个测试没有问题,支持360和chrome 该扩展安装后,使用uibot creator 很容易,不需要敲击代码做爬虫类自动化程序。

当心!recover成为”恶魔“--Go中的容错处理进阶

前言: Go语言本身没有try/catch异常机制,因为Go的三位创始人在设计Go语言之出觉得这样写会变得很繁琐。 但因为:Go本身支持函数多返回值,因此在写函数的时候,可以优先考虑容错处理。 接下来,我们来看看在G…

不小心删了u盘里的word文档怎么恢复(含三种恢复方法)

在日常生活和工作中,U盘因其便携性而成为存储和传输数据的重要工具。然而,有时会发生误删重要文件的情况,如不小心删了U盘里的Word文档。面对这种情况,许多用户感到束手无策。本文将为您介绍如何恢复不小心删除的U盘Word文档&…