当前位置: 首页 > news >正文

PyEcharts 数据可视化:从入门到实战

一、PyEcharts 简介

PyEcharts 是基于百度开源可视化库 ECharts 的 Python 数据可视化工具,支持生成交互式的 HTML 格式图表。相较于 Matplotlib 等静态图表库,PyEcharts 具有以下优势:

  • 丰富的图表类型(30+)
  • 动态交互功能(数据筛选、缩放等)
  • 简洁的 API 设计
  • 良好的网页兼容性

二、环境配置

安装命令:

pip install pyecharts

推荐配合 Jupyter Notebook 使用(需安装 jupyter-echarts 插件)或直接生成 HTML 文件。


三、核心概念解析

1. Chart 类体系

PyEcharts 提供 Bar, Line, Pie, Scatter 等类对应不同图表类型,均继承自基类 Chart

2. 配置项(Option)

通过 set_global_opts()set_series_opts() 配置图表:

from pyecharts.charts import Barbar = Bar()
bar.set_global_opts(title_opts={"text": "销售数据"},toolbox_opts={"show": True}  # 显示工具箱
)

3. 数据格式

支持多种数据格式:

# 方式1:分别添加 X/Y 轴
bar.add_xaxis(["手机", "电脑", "平板"])
bar.add_yaxis("销售额", [1200, 800, 450])# 方式2:二维数据
bar.add("", [["手机",1200], ["电脑",800], ["平板",450]])

四、实战案例

案例1:动态折线图 - 股票价格趋势

from pyecharts.charts import Line
import numpy as npdates = pd.date_range("2023-01-01", periods=30).strftime("%m-%d").tolist()
prices = np.random.randn(30).cumsum() + 100  # 模拟股价line = (Line().add_xaxis(dates).add_yaxis("股价", prices, is_smooth=True).set_global_opts(title_opts={"text": "股票价格趋势"},datazoom_opts=[{"type": "inside"}],  # 内置缩放tooltip_opts={"trigger": "axis"})
)
line.render("stock.html")

生成可缩放、提示数据点的动态折线图。


案例2:多层饼图 - 人口结构分析

from pyecharts.charts import Piedata = [("0-14岁", 17.3),("15-64岁", 68.3),("65岁以上", 14.4)
]pie = (Pie().add(series_name="年龄分布",data_pair=data,radius=["30%", "55%"],  # 环形饼图label_opts={"formatter": "{b}: {d}%"}).set_global_opts(title_opts={"text": "中国人口年龄结构(2023)"},legend_opts={"orient": "vertical", "left": "right"})
)
pie.render("population.html")

创建带百分比标签的环形饼图,适合展示比例数据。


案例3:热力地图 - 疫情数据可视化

from pyecharts.charts import Mapprovince_data = [("广东", 1250),("浙江", 890), ("江苏", 760),("湖北", 430)
]map_chart = (Map().add("确诊病例", province_data,maptype="china",is_map_symbol_show=False).set_global_opts(visualmap_opts={"min": 0,"max": 1500,"range_text": ["高", "低"],"is_calculable": True,"color": ["#FFE4B5", "#FF4500"]})
)
map_chart.render("covid_map.html")

生成颜色渐变的中国疫情分布图,直观显示区域差异。


五、进阶技巧

  1. 组合图表:使用 Grid 类实现多图表联动

    from pyecharts.charts import Gridgrid = Grid()
    grid.add(bar, grid_opts={"left": "55%"}).add(line)
    
  2. 时间轴:创建动态演变图表

    from pyecharts.charts import Timelinetimeline = Timeline()
    timeline.add_schema(play_interval=1000)  # 自动播放间隔
    
  3. 自定义主题

    from pyecharts import options as opts
    from pyecharts.globals import ThemeTypebar = Bar(init_opts=opts.InitOpts(theme=ThemeType.LIGHT))
    

六、注意事项

  1. 版本兼容性:PyEcharts v1.x 与 v0.x 的 API 差异较大,建议使用最新版
  2. 大数据优化:当数据量 > 10万时,建议启用 WebGL 渲染
  3. 部署建议:通过 Flask/Django 集成时,使用 render_embed() 生成代码片段

通过以上方法和案例,开发者可以快速实现专业级的数据可视化效果。官方文档(https://pyecharts.org)提供了完整的 API 参考和示例库,推荐深入学习。


通过实践这些案例,您将能够轻松应对常见的数据可视化需求。PyEcharts 的灵活性和表现力使其成为Python可视化生态中的重要工具,特别适合需要交互性的网页应用场景。

相关文章:

PyEcharts 数据可视化:从入门到实战

一、PyEcharts 简介 PyEcharts 是基于百度开源可视化库 ECharts 的 Python 数据可视化工具,支持生成交互式的 HTML 格式图表。相较于 Matplotlib 等静态图表库,PyEcharts 具有以下优势: 丰富的图表类型(30)动态交互功…...

RT-Thread+STM32L475VET6——ADC采集电压

文章目录 前言一、板载资源二、具体步骤1.打开CubeMX进行配置1.1 使用外部高速时钟,并修改时钟树1.2 打开ADC1的通道3,并配置为连续采集模式(ADC根据自己需求调整)1.3 打开串口1.4 生成工程 2. 配置ADC2.1 打开ADC驱动2.2 声明ADC2.3 剪切stm…...

easyexcel 2.2.6版本导出excel模板时,标题带下拉框及其下拉值过多不显示问题

需求背景&#xff1a;有一个需求要做下拉框的值有100多条&#xff0c;同时这个excel是一个多sheet的导入模板 直接用easyexcel 导出&#xff0c;会出现下拉框的值过多&#xff0c;导致生成出来的excel模板无法正常展示下拉功能 使用的easyexcel版本&#xff1a;<depende…...

树(数据结构·)

树&#xff08;数据结构篇&#xff09; 里面没有结点时&#xff0c;称之为空树 树型结构是一对多的形式 ​ ​ ​ ​ ​ ​ 深度优先遍历&#xff1a; 所谓的DFS&#xff0c;也就是说每次都尝试向更深的节点走&#xff0c;也就是一条路走到黑 当一条路走完&#xff0c;走到…...

XUnity.AutoTranslator-deepseek——调用腾讯的DeepSeek V3 API,实现Unity游戏中日文文本的自动翻译

XUnity.AutoTranslator-deepseek 本项目通过调用腾讯的DeepSeek V3 API&#xff0c;实现Unity游戏中日文文本的自动翻译。 准备工作 1. 获取API密钥 访问腾讯云API控制台申请DeepSeek的API密钥&#xff08;限时免费&#xff09;。也可以使用其他平台提供的DeepSeek API。 …...

谈谈 ES 6.8 到 7.10 的功能变迁(1)- 性能优化篇

前言 ES 7.10 可能是现在比较常见的 ES 版本。但是对于一些相迭代比较慢的早期业务系统来说&#xff0c;ES 6.8 是一个名副其实的“钉子户”。 借着工作内升级调研的任务东风&#xff0c;我整理从 ES 6.8 到 ES 7.10 ELastic 重点列出的新增功能和优化内容。将分为 6 个篇幅给…...

[250222] Kimi Latest 模型发布:尝鲜最新特性与追求稳定性的平衡 | SQLPage v0.33 发布

目录 Kimi Latest 模型发布&#xff1a;尝鲜最新特性与追求稳定性的平衡SQLPage v0.33 发布&#xff1a;使用 SQL 构建自定义 UI 和 API&#xff01; Kimi Latest 模型发布&#xff1a;尝鲜最新特性与追求稳定性的平衡 Kimi 开放平台推出全新模型 kimi-latest&#xff0c;旨在…...

深入理解设计模式之解释器模式

深入理解设计模式之解释器模式 在软件开发的复杂世界中,我们常常会遇到需要处理特定领域语言的情况。比如在开发一个计算器程序时,需要解析和计算数学表达式;在实现正则表达式功能时,要解析用户输入的正则表达式来匹配文本。这些场景都涉及到对特定语言的解释和执行,而解…...

深入理解设计模式之代理模式

深入理解设计模式之代理模式 在软件开发的复杂体系中&#xff0c;我们常常会遇到这样的情况&#xff1a;需要控制对某个对象的访问&#xff0c;或者在访问对象前后添加一些额外的处理逻辑&#xff0c;又或者希望在不改变原对象代码的基础上扩展其功能。代理模式&#xff08;Pr…...

Golang | 每日一练 (3)

&#x1f4a2;欢迎来到张胤尘的技术站 &#x1f4a5;技术如江河&#xff0c;汇聚众志成。代码似星辰&#xff0c;照亮行征程。开源精神长&#xff0c;传承永不忘。携手共前行&#xff0c;未来更辉煌&#x1f4a5; 文章目录 Golang | 每日一练 (3)题目参考答案map 实现原理hmapb…...

企业数据集成:实现高效调拨出库自动化

调拨出库对接调出单-v&#xff1a;旺店通企业奇门数据集成到用友BIP 在企业信息化管理中&#xff0c;数据的高效流转和准确对接是实现业务流程自动化的关键。本文将分享一个实际案例&#xff0c;展示如何通过轻易云数据集成平台&#xff0c;将旺店通企业奇门的数据无缝集成到用…...

提效10倍:基于Paimon+Dolphin湖仓一体新架构在阿里妈妈品牌业务探索实践

1. 业务背景 阿里妈妈品牌广告数据包括投放引擎、下发、曝光、点击等日志&#xff0c;面向运筹调控、算法特征、分析报表、诊断监控等应用场景&#xff0c;进行了品牌数仓能力建设。随着业务发展&#xff0c;基于Lambda架构的数仓开发模式&#xff0c;缺陷日益突出&#xff1a;…...

Deepseek快速做PPT

背景: DeepSeek大纲生成 → Kimi结构化排版 → 数据审查,细节调整 DeepSeek 拥有深度思考能力,擅长逻辑构建与内容生成,它会根据我们的问题进行思考,其深度思考能力当前测试下来,不愧为国内No.1,而且还会把中间的思考过程展示出来,大多时候会给出很多我们意想不到的思…...

论文解读 | AAAI'25 Cobra:多模态扩展的大型语言模型,以实现高效推理

点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入&#xff01; 点击 阅读原文 观看作者讲解回放&#xff01; 个人信息 作者&#xff1a;赵晗&#xff0c;浙江大学-西湖大学联合培养博士生 内容简介 近年来&#xff0c;在各个领域应用多模态大语言模型&#xff08;MLLMs&…...

uniapp修改picker-view样式

解决问题&#xff1a; 1.选中文案样式&#xff0c;比如字体颜色 2.修改分割线颜色 3.多列时&#xff0c;修改两边间距让其平分 展示效果&#xff1a; 代码如下 <template><u-popup :show"showPicker" :safeAreaInsetBottom"false" close&quo…...

HDFS Java 客户端 API

一、基本调用 Configuration 配置对象类&#xff0c;用于加载或设置参数属性 FileSystem 文件系统对象基类。针对不同文件系统有不同具体实现。该类封装了文件系统的相关操作方法。 1. maven依赖pom.xml文件 <dependency><groupId>org.apache.hadoop</groupId&g…...

【华三】STP的角色选举(一文讲透)

【华三】STP的角色选举 一、引言二、STP基础概念扫盲三、根桥选举过程详解四、根端口选举过程详解五、指定端口选举过程详解六、阻塞端口七、总结与配置建议七、附录**1. BPDU字段结构图&#xff08;文字描述&#xff09;****2. 华三STP常用命令速查表** 文章总结 一、引言 在…...

【C#零基础从入门到精通】(二十六)——C#三大特征-多态详解

【C#零基础从入门到精通】(二十六)——C#三大特征-多态详解 在 C# 中,多态是面向对象编程的重要特性之一,它允许不同的对象对同一消息做出不同的响应。多态可以分为静态多态和动态多态,下面将详细介绍它们以及各自包含的知识点。 多态概述 多态性使得代码更加灵活、可扩展…...

宇树科技13家核心零部件供应商梳理!

2025年2月6日&#xff0c;摩根士丹利&#xff08;Morgan Stanley&#xff09;发布最新人形机器人研报&#xff1a;Humanoid 100: Mapping the Humanoid Robot Value Chain&#xff08;人形机器人100&#xff1a;全球人形机器人产业链梳理&#xff09;。 Humanoid 100清单清单中…...

Java集合框架全解析:从LinkedHashMap到TreeMap与HashSet面试题实战

一、LinkedHashMap ①LinkedHashMap集合和HashMap集合的用法完全相同。 ②不过LinkedHashMap可以保证插入顺序。 ③LinkedHashMap集合因为可以保证插入顺序&#xff0c;因此效率比HashMap低一些。 ④LinkedHashMap是如何保证插入顺序的&#xff1f; 底层采用了双向链表来记…...

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...

DeepSeek 赋能智慧能源:微电网优化调度的智能革新路径

目录 一、智慧能源微电网优化调度概述1.1 智慧能源微电网概念1.2 优化调度的重要性1.3 目前面临的挑战 二、DeepSeek 技术探秘2.1 DeepSeek 技术原理2.2 DeepSeek 独特优势2.3 DeepSeek 在 AI 领域地位 三、DeepSeek 在微电网优化调度中的应用剖析3.1 数据处理与分析3.2 预测与…...

Cesium1.95中高性能加载1500个点

一、基本方式&#xff1a; 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...

大型活动交通拥堵治理的视觉算法应用

大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动&#xff08;如演唱会、马拉松赛事、高考中考等&#xff09;期间&#xff0c;城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例&#xff0c;暖城商圈曾因观众集中离场导致周边…...

Qwen3-Embedding-0.6B深度解析:多语言语义检索的轻量级利器

第一章 引言&#xff1a;语义表示的新时代挑战与Qwen3的破局之路 1.1 文本嵌入的核心价值与技术演进 在人工智能领域&#xff0c;文本嵌入技术如同连接自然语言与机器理解的“神经突触”——它将人类语言转化为计算机可计算的语义向量&#xff0c;支撑着搜索引擎、推荐系统、…...

【单片机期末】单片机系统设计

主要内容&#xff1a;系统状态机&#xff0c;系统时基&#xff0c;系统需求分析&#xff0c;系统构建&#xff0c;系统状态流图 一、题目要求 二、绘制系统状态流图 题目&#xff1a;根据上述描述绘制系统状态流图&#xff0c;注明状态转移条件及方向。 三、利用定时器产生时…...

鱼香ros docker配置镜像报错:https://registry-1.docker.io/v2/

使用鱼香ros一件安装docker时的https://registry-1.docker.io/v2/问题 一键安装指令 wget http://fishros.com/install -O fishros && . fishros出现问题&#xff1a;docker pull 失败 网络不同&#xff0c;需要使用镜像源 按照如下步骤操作 sudo vi /etc/docker/dae…...

A2A JS SDK 完整教程:快速入门指南

目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库&#xff…...

Scrapy-Redis分布式爬虫架构的可扩展性与容错性增强:基于微服务与容器化的解决方案

在大数据时代&#xff0c;海量数据的采集与处理成为企业和研究机构获取信息的关键环节。Scrapy-Redis作为一种经典的分布式爬虫架构&#xff0c;在处理大规模数据抓取任务时展现出强大的能力。然而&#xff0c;随着业务规模的不断扩大和数据抓取需求的日益复杂&#xff0c;传统…...

论文阅读笔记——Muffin: Testing Deep Learning Libraries via Neural Architecture Fuzzing

Muffin 论文 现有方法 CRADLE 和 LEMON&#xff0c;依赖模型推理阶段输出进行差分测试&#xff0c;但在训练阶段是不可行的&#xff0c;因为训练阶段直到最后才有固定输出&#xff0c;中间过程是不断变化的。API 库覆盖低&#xff0c;因为各个 API 都是在各种具体场景下使用。…...