零基础入门 Pyecharts 实用教程:从基础绘图到进阶技巧

在这里插入图片描述

简介:本文面向 Python 数据可视化初学者,脚踏实地分享 Pyecharts 库的使用经验。从查看 Pyecharts 版本起步,详细拆解绘制首个图表的全过程,涵盖导入模块、设置坐标轴、渲染 HTML 文件等基础操作;点明链式调用的版本要求与潜在 “坑点”;介绍如何巧用 options 配置图表样式,以及将图表渲染为图片文件的正确姿势。还涉及主题包导入、展示动画效果等进阶内容,文末更有感而发,强调技术应服务大众,助力大家快速上手 Pyecharts,打造精美可视化图表,本专栏也会持续更新相关实用技巧。

零基础入门 Pyecharts 实用教程:从基础绘图到进阶技巧

  • pyecharts的应用
    • (第一步)查看自己的pyecharts版本
    • (第二步)第一个图表的绘制
    • (第三步)链式调用
    • (第四步)使用options配置项
    • (第五步)渲染成图片文件
    • (第六步)导入主题包
    • (第七步)加入一个y轴价格2 ,展示pyecharts的动画效果。

pyecharts的应用

(第一步)查看自己的pyecharts版本

import pyecharts
# 可以通过这个语句查看自己的pyecharts版本
print(pyecharts.__version__)

在这里插入图片描述
我的版本是2.0.7,不一定非要版本一样,改动不大。

(第二步)第一个图表的绘制

  1. 通过pyecharts.charts 导入 Bar
  2. Bar()创建一个柱形图
  3. add_xaxis 设置横坐标 add_yaxis设置纵坐标
  4. render进行渲染,生成一个html文件
  5. render函数中可以添加字符串作为 参数比如 ‘bb.html’,生成的html文件就是一个名字为bb的html文件
  6. 如果你是在jupyter中使用 你可以使用bar.render_notebook()函数不用生成html就可以打开
from pyecharts.charts import Bar

bar = Bar()
bar.add_xaxis(['帽子','衣服','鞋子','裤子','袜子'])
bar.add_yaxis('价格',[10,20,30,40,50])

# render会渲染成html文件
bar.render()

在这里插入图片描述
用浏览器打开这个html网页,会看到一张图:
在这里插入图片描述

(第三步)链式调用

链式调用必须在pyecharts1.0以后得版本才能用
第二步的代码可以用链式调用的语法,效果是一致的:


from pyecharts.charts import Bar

bar = {
    Bar()
    .add_xaxis(['帽子','衣服','鞋子','裤子','袜子'])
    .add_yaxis('价格',[10,20,30,40,50])
    .render()
}

(第四步)使用options配置项

  1. 需要从pyecharts 导入options as opts
  2. 配置项可以使用set_global_opts(title_opts=字典 text 和 subtext设置value)
  3. 配置项可以使用set_global_opts(title_opts=opts.TitleOpts(title=‘主标题’,subtitle=‘副标题’))的方式来设置

from pyecharts.charts import Bar
from pyecharts import options as opts
bar = {
    Bar()
    .add_xaxis(['帽子','衣服','鞋子','裤子','袜子'])
    .add_yaxis('价格',[10,20,30,40,50])

    # 全局配置
    #.set_global_opts(title_opts=opts.TitleOpts(title='主标题',subtitle='副标题'))
    .set_global_opts(title_opts={'text':'主标题','subtext':'副标题'})
    .render()
}

在这里插入图片描述

(第五步)渲染成图片文件

  1. 从 pyecharts.render中导入make_snapshot
  2. 从snapshot_selenium中导入 snapshot
  3. 这里遇到一个问题,先说问题是怎么出现的,在我这个2.0.7版本的pyecharts中使用这个语句进行图片文件渲染会报错,make_snapshot(snapshot,bar.render(),‘bar.png’),报错内容是他把bar判断成一个集合而不是图片文件,因为我使用了链式调用,他判断是集合,我改回正常调用就没问题了,下面这个代码实例使用对象.方法就没有问题,但是使用链式调用会被判断成集合,就不能渲染成图片文件了,综上所述,少用链式调用,别偷懒,少出问题

from pyecharts.charts import Bar
from pyecharts import options as opts
from pyecharts.render import make_snapshot
from snapshot_selenium import snapshot
bar = Bar()
bar.add_xaxis(['帽子','衣服','鞋子','裤子','袜子'])
bar.add_yaxis('价格',[10,20,30,40,50])
# 全局配置
# bar.set_global_opts(title_opts=opts.TitleOpts(title='主标题',subtitle='副标题'))
bar.set_global_opts(title_opts={'text':'主标题','subtext':'副标题'})
make_snapshot(snapshot,bar.render(),'bar.png')

在这里插入图片描述

(第六步)导入主题包

  1. 从 pyecharts.gloabls 导入 ThemeType库
  2. 在创建图像的Bar函数里面加入参数 init_opts = opts.InitOps(theme = ThemeType.主题)

from pyecharts.charts import Bar
from pyecharts import options as opts
from pyecharts.render import make_snapshot
from snapshot_selenium import snapshot
from pyecharts.globals import ThemeType
bar = Bar(init_opts=opts.InitOpts(theme=ThemeType.WHITE))
bar.add_xaxis(['帽子','衣服','鞋子','裤子','袜子'])
bar.add_yaxis('价格',[10,20,30,40,50])
# 全局配置
# bar.set_global_opts(title_opts=opts.TitleOpts(title='主标题',subtitle='副标题'))
bar.set_global_opts(title_opts={'text':'主标题','subtext':'副标题'})
make_snapshot(snapshot,bar.render(),'bar.png')

在这里插入图片描述

(第七步)加入一个y轴价格2 ,展示pyecharts的动画效果。

并没有学习新的内容,只是为了看看他的动画多好看,多直观,还有就是相同的代码量要比matplotlib更好看。这里你只需要把我的代码复制一下:

from pyecharts.charts import Bar
from pyecharts import options as opts
from pyecharts.render import make_snapshot
from snapshot_selenium import snapshot
from pyecharts.globals import ThemeType
bar = Bar(init_opts=opts.InitOpts(theme=ThemeType.LIGHT))
bar.add_xaxis(['帽子','衣服','鞋子','裤子','袜子'])
bar.add_yaxis('价格1',[13,23,33,43,53])
bar.add_yaxis('价格2',[7,17,27,37,47])
# 全局配置
# bar.set_global_opts(title_opts=opts.TitleOpts(title='主标题',subtitle='副标题'))
bar.set_global_opts(title_opts={'text':'主标题','subtext':'副标题'})
# make_snapshot(snapshot,bar.render(),'bar.png')
bar.render()

这是初始的图片效果:
在这里插入图片描述
这个价格1 是可以点击的按钮,点击他可以不显示价格1
在这里插入图片描述
而且他在点击的过程中是有一个渐变的动画效果的,这样别人看起来更舒适。坦率的说,pyecharts没有什么技术上的难度,但是你不能从程序猿的角度去看问题,他给用户看,用户看这样的图表就是更舒服,程序猿是编写程序服务别人的,不能本末倒置。
能看到这里的都是踏实学习的,也希望你们能耐下心来听我说两句题外话,作为一名普通学校软件工程专业的大学生,刚学的时候觉得kmp算法 很有意思,就开始一味的追求算法的复杂,技术的难度。但是有一天,我去逛商场,看见一家卖华为电视的地方有沙发,我去坐会儿,听见了售货员和消费者沟通,一个说我们家的电视用了多么多么牛的图像处理算法,用了什么厉害的技术,什么国产的芯片,电视机什么什么参数,一个说价格能不能再商量。鸡同鸭讲,讲了半天。他们都是从格子的立场出发的,售货员想多卖点,消费者想便宜点。我当时听完了以后。我第一反应是愤怒,那些研究技术的人员要知道,自己研究的东西别人看不懂,会不会想强制给他们安排学校学习,了解自己研究的东西多么厉害。后来又觉得荒谬,商品明明是服务于人的,我怎么会有这种想法。我发现我脱离群众了,一切都是给人服务的。大道至简,返璞归真,就好比当年的巨型计算机,不后来也变成笔记本了吗?考研政治有这么一条理论,就是发展规律是循环的,他是一个圈,从简单到复杂再到简单循环往复,螺旋上升的。也是一时兴起,说了一下体会吧,希望大家别嫌我烦。本专栏会持续更新pyecharts的使用方法。

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

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

相关文章

STM32 通过读取看门狗溢出标志检测程序是否发生复位

通过 __HAL_RCC_GET_FLAG 函数,读取看门狗溢出标志检测程序是否发生复位, 目录 一、__HAL_RCC_GET_FLAG 函数二、Stm32CubeMx配置三、代码编写四、运行效果 一、__HAL_RCC_GET_FLAG 函数 HAL库的 __HAL_RCC_GET_FLAG 函数可以获取到程序是否发生过看门狗…

记一次由docker容器使得服务器cpu占满密码和密钥无法访问bug

Bug场景: 前几天在服务器上部署了一个免费影视网站,这个应用需要四个容器,同时之前的建站软件workpress也是使用docker部署的,也使用了三个容器。在使用workpress之前,我将影视软件的容器全部停止。 再使用workpress…

Linx下自动化之路:Redis安装包一键安装脚本实现无网极速部署并注册成服务

目录 简介 安装包下载 安装脚本 服务常用命令 简介 通过一键安装脚本实现 Redis 安装包的无网极速部署,并将其成功注册为系统服务,开机自启。 安装包下载 redis-7.0.8.tar.gzhttp://download.redis.io/releases/redis-7.0.8.tar.gz 安装脚本 修…

开发 UEFI 驱动

服务型驱动的特点: 1)在 Image 的入口函数中执行安装; 2)服务型驱动不需要驱动特定硬件,可以安装到任意控制器上; 3)没有提供卸载函数。 一个设备 / 总线驱动程序在安装时首先要找到对应的硬件…

实现 DataGridView 下拉列表功能(C# WinForms)

本文介绍如何在 WinForms 中使用 DataGridViewComboBoxColumn 实现下拉列表功能,并通过事件响应来处理用户的选择。以下是实现步骤和示例代码。 1. 效果展示 该程序的主要功能是展示如何在 DataGridView 中插入下拉列表,并在选择某一项时触发事件。 2.…

传输层5——TCP可靠传输的实现(重点!!)

TCP协议如何实现可靠传输?确保接收方收到数据? 需要依靠几个结构: 以字节为单位的滑动窗口 这其中包括发送方的发送窗口和接收方的接收窗口 下面的描述,我们指定A为发送端口,B为接收端口 TCP的可靠传输就是靠着滑动窗口…

java Random随机数

Randoms是什么 在Java中,Random类是用于生成伪随机数的工具。它位于java.util包中。以下是一些使用Random类生成不同类型的随机数的方法: 1 创建 Random 类的实例 2 生成一个随机的int值(范围从Integer.MIN_VALUE到Integer.MAX_VALUE&#…

React的复制粘贴组件——React Copy to Clipboard

React Copy to Clipboard是一个用于在React应用程序中复制文本到剪贴板的库。它提供了一个简单的方式来实现复制到剪贴板的功能,支持多种浏览器和设备。 安装 你可以使用npm或yarn来安装React Copy to Clipboard: npm install react-copy-to-clipboa…

【Android Studio】学习——网络连接

实验:Android网络连接 文章目录 实验:Android网络连接[toc]实验目标和实验内容:1、掌握Android联网的基本概念;2、能够使用URL connection实现网络连接;3、掌握第三方库的基本概念4、需实现的具体功能 实验结果功能说明…

泷羽Sec-星河飞雪-bp验证码爆破

免责声明 学习视频来自 B 站up主泷羽sec,如涉及侵权马上删除文章。 笔记的只是方便各位师傅学习知识,以下代码、网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负。 泷羽sec官网:http…

基础算法——搜索与图论

搜索与图论 图的存储方式2、最短路问题2.1、Dijkstra算法(朴素版)2.2、Dijkstra算法(堆优化版)2.3、Bellman-Ford算法2.4、SPFA求最短路2.5、SPFA判负环2.6、Floyd算法 图的存储方式 2、最短路问题 最短路问题可以分为单源最短路…

C#构造函数 析构函数 静态成员(类) 密封类 字段以及属性

每当创建类或结构的实例时,将会调用其构造函数。 类或结构可能具有采用不同参数的多个构造函数。 使用构造函数,程序员能够设置默认值、限制实例化,并编写灵活易读的代码 如果静态构造函数尚未运行,静态构造函数会在任何实例构造…

公立医院高质量发展——急慢性气道疾病药学服务科普宣传培训成功开展

2023年,为积极响应国家关于推动公立医院高质量发展的号召,中国健康促进基金会开展了公立医院高质量发展——急慢性气道疾病药学服务科普宣传培训。该项目旨在通过科普宣传和培训,提升咳喘药学规范化服务水平,促进临床专业知识与咳…

product/admin/list?page=0size=10field=jancodevalue=4562249292272

文章目录 1、ProductController2、AdminCommonService3、ProductApiService4、ProductCommonService5、ProductSqlService https://api.crossbiog.com/product/admin/list?page0&size10&fieldjancode&value45622492922721、ProductController GetMapping("ad…

linux介绍------VMWare的卸载,下载,安装------及基础命令使用

文章目录 Linux第一天1、为什么要学习linux?2、怎么去学linux?(什么是大数据)3、VMWare的卸载,下载,安装4、检查网卡5、创建新的虚拟机(安装步骤:看视频)6、几个名字的理…

游戏引擎学习第38天

仓库: https://gitee.com/mrxiao_com/2d_game 回顾上次的内容。 我们之前讨论了将精灵放在屏幕上,但颜色错误的问题。问题最终查明是因为使用了一个调整工具,导致文件的字节顺序发生了变化。重新运行“image magic”工具对一些大图像进行重新处理后&am…

leetcode 二进制数转字符串

1.题目要求: 2.题目代码: class Solution { public:string printBin(double num) {string result;double compare_value 1.0;//先给把0和.赋值给result;result.push_back(0);result.push_back(.);while(result.size() < 33){//利用十进制转换成二进制的方法//1.先给num …

JS进阶DAY3|页面加载事件和页面滚动事件

目录 一、页面加载事件 1.1 DOMContentLoaded 事件 1.1.1 触发时机 1.1.2 用途 1.1.3 代码示例document.addEventListener(DOMContentLoaded, (event) > { 1.2 load 事件 1.2.1 触发时机 1.2.2 用途 1.2.3 代码示例 二、页面滚动事件 1.1 scroll事件 1.1.1 触…

overleaf 写论文 语法笔记

1.找参考的期刊/论文模板 注册账户后并登录后进入这个界面&#xff0c;创建的所有历史项目会在这个界面显示&#xff0c;后期可以继续修改。 创建新项目&#xff1a;点击绿色按钮“创建新项目”后&#xff0c;可以新建空白项目&#xff0c;可以选择模板直接往模板里添加内容,…

OpenCV-平滑图像

二维卷积(图像滤波) 与一维信号一样&#xff0c;图像也可以通过各种低通滤波器&#xff08;LPF&#xff09;、高通滤波器&#xff08;HPF&#xff09;等进行过滤。LPF 有助于消除噪音、模糊图像等。HPF 滤波器有助于在图像中找到边缘。 opencv 提供了函数 **cv.filter2D()**&…