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()

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mp4文件全部转换为mp3

问题 今天突发奇想,想把mp4视频转换为mp3来收听,于是想到了ffmpeg工具 步骤 安装ffmpeg环境 要在 Windows 上配置 FFmpeg 环境,你可以按照以下步骤进行操作: 下载 FFmpeg: 首先,你需要下载 FFmpeg 的 W…

一个成功的camera案例:ros2+gazebo+摄像头

各位看:随着大物体的移动,在涉嫌头的位置也发生了改变-----右上角那个/camera的位置也变了 右上角那个是摄像头图案,以下是仓库链接: ros-ign-gazebo-camera: https://github.com/arashsm79/ros-ign-gazebo-camera.git一个ros2摄…

初识物联网

1:什么是IOT: 物联网的英文名称是Internet of Things。IoT则是Internet of Things的缩写。因此, 物联网 IoT。 通俗地说,物联网是互联网的一种拓展。我们知道互联网是由无数的计算机和智能手机交错连接而编织成的一张网。而正是有了像NodeM…

Spring Cloud + Vue前后端分离-第12章 通用权限设计

源代码在GitHub - 629y/course: Spring Cloud Vue前后端分离-在线课程 Spring Cloud Vue前后端分离-第12章 通用权限设计 这一章我们不依赖第三方框架,我会从权限相关表的设计,到权限的配置,到权限的拦截,带大家一步一步的做出…

代码随想录算法训练营第十六天 | 110. 平衡二叉树、257. 二叉树的所有路径、404.左叶子之和

题目链接:leetcode 110. 平衡二叉树 文章讲解:代码随想录 110. 平衡二叉树讲解 视频讲解:后序遍历求高度,高度判断是否平衡 | LeetCode:110.平衡二叉树 思路和解法 题目: 给定一个二叉树,判…

文章解读与仿真程序复现思路——电网技术EI\CSCD\北大核心《考虑新能源配网三相不平衡治理的电动汽车充电策略》

本专栏栏目提供文章与程序复现思路,具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 这个标题表明研究着重于开发一种电动汽车充电策略,该策略考虑了在新能源配电网络中存在的三相不平衡问题。解读如下: 电动汽车充…

Typora上传图片失败PicGo

起初我是在Typora中点击一键上传图片,结果如下,报错。可是我找了半天也没错啊。 最后发现原来是一个图片的命名问题,名字太过于复杂,PicGo识别不出,一个图片报错导致其它也上传不了。 我把它复制到其它文件夹之后&…

【QUARTZ】springboot+quartz动态配置定时任务

Quartz 介绍 Quartz 定时任务可分为Trigger(触发器)、Job(任务)和Scheduler(调度器),定时任务的逻辑大体为:创建触发器和任务,并将其加入到调度器中,如下图所…

webpack原理和逆向实战

文章目录 什么是webpackwebpack基本原理webpack代码分析webpack代码抠取webpack全模块自吐webpack自动扣取总结 什么是webpack webpack是一个现代 JavaScript 应用程序的静态模块打包器(module bundler),负责分析翻译压缩打包代码。 上面的官网的一张示例图。 web…

大数据实时抓取软件:Maxwell学习网站的高效框架!

介绍:Maxwell是由美国Zendesk开源的,使用Java编写的MySQL实时抓取软件。它能够实时读取MySQL的二进制日志(Binlog),并将这些信息生成为JSON格式的消息。进一步地,Maxwell将这些消息作为生产者发送给Kafka、…

Springboot项目Nacos做配置中心

Springboot项目Nacos做配置中心 说明安装2.Springboot整合使用Nacos3.问题处理 说明 文档参考 Nacos Spring Boot 安装 查看nacos镜像 docker search nacos 下载镜像 docker pull nacos/nacos-server启动naocs镜像 docker run --env MODEstandalone --name nacos -d -p 8…

Abaqus2023安装下载教程

用钢铁意志,成就不平凡的人生。 今天博主整理了一下Abaqus2023安装下载教程,希望大家学习。 安装之前请关闭电脑所有杀毒软件和防火墙,并保证计算机名不是中文!!!! 1.首先创建一个用于Abaqus…

MySQL夯实之路-MVCC机制深入浅出

多版本并发控制(MVCC,multiversion concurrency control) MVCC用更加灵活的方式处理并发,实现了读不加锁,读写不冲突。保证了事务的隔离性(可重复读),避免了不可重复读问题。 数据…

go中拷贝文件操作

一. 拷贝文件内容到另一个文件位置 // 拷贝文件内容到另一个文件里面 func copyContent() {filepath1 : "d:/abc.txt"filepath2 : "e:/eee.txt"// 读取内容data, err : os.ReadFile(filepath1) // 使用os.ReadFile函数读取指定路径的文件内容if err ! nil…

MyBatis面试题及高级用法

问题1: 请介绍一下MyBatis,以及它的主要特点是什么? 答案1: MyBatis是一个Java持久层框架,通过将SQL语句映射到对象,简化了数据库访问。它的主要特点包括动态SQL生成、自动参数映射和复杂映射支持。 问题2: MyBatis和其他ORM框架…

HTML常用标签

基本 <html>…</html> 定义 HTML 文档 <head>…</head> 文档的信息 <meta> HTML 文档的元信息 <title>…</title> 文档的标题 <link> 文档与外部资源的关系 <styl…

【Linux】进程程序替换

👑作者主页:@安 度 因 🏠学习社区:安度因 📖专栏链接:Linux 文章目录 简单看看程序替换原理(单进程)多进程进程程序替换补充exec 系列进程创建时有两个目标: 执行父进程的部分代码,由自己编写的,通过 if else 分流,让子进程执行的对应任务。执行和父进程完全不同…

Linux上如何一键安装软件?yum源是什么?Linux如何配置yum源?

这几个问题是Linux操作的入门问题&#xff0c;但是确实也会让刚上手Linux小伙伴头疼一阵&#xff0c;故特有此文&#xff0c;希望能对刚入门的小伙伴有一些帮助~ 众所周知 在linux上在线安装软件需要用到yum命令&#xff0c;经常下述命令来安装 yum install [-y] 包名 #-y的…

Hive基础知识(十二):Hive的基本查询

1. 全表和特定列查询 0&#xff09;数据准备 原始数据 dept: 10 ACCOUNTING 1700 20 RESEARCH 1800 30 SALES 1900 40 OPERATIONS 1700 emp&#xff1a; 7369 SMITH CLERK 7902 1980-12-17 800.00 20 7499 ALLEN SALESMAN 7698 1981-2-20 1600.00 300.00 30 7521 WARD SALESM…

解决POI报错POIXMLTypeLoader不存在的问题

问题&#xff1a; springframework.web.util.NestedServletException: Handler dispatch failed; nested exception is java.lang.NoClassDefFoundError: org/apache/poi/POIXMLTypeLoaderat org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet…