基于 ECharts的Python 数据可视化库,它允许用户使用 Python 语言生成各种类型的交互式图表和数据可视化

pyecharts 是一个基于 ECharts 的 Python 数据可视化库,它允许用户使用 Python 语言生成各种类型的交互式图表和数据可视化。

ECharts 是由百度开发的一款强大的开源数据可视化库,而 Pyecharts 则是 ECharts 的 Python 封装,使得在 Python 中使用 ECharts 变得更加方便。

pyecharts 提供了一组简单而灵活的 API,使用户能够轻松地创建各种图表,包括但不限于折线图、柱状图、散点图、饼图、地图等。

通过 pyecharts,用户可以使用 Python 语言处理和准备数据,然后使用简洁的代码生成交互式的图表,这些图表可以嵌入到 Web 应用程序中或保存为静态文件。

pyecharts 特点与功能:

  • 简单易用: Pyecharts 提供了直观而友好的 API,使得用户能够快速上手,轻松生成各种图表。

  • 丰富的图表类型: 支持多种常见的图表类型,包括线图、柱状图、散点图、饼图、地图等,满足不同场景的需求。

  • 支持主流数据格式: 能够处理常见的数据格式,如列表、字典、Pandas DataFrame 等。

  • 交互性: 生成的图表可以具有交互性,用户可以通过鼠标悬停、缩放等方式与图表进行互动。

  • 丰富的配置选项: 提供了丰富的配置选项,允许用户自定义图表的样式、布局等属性。

  • 支持主题: 提供多种主题,用户可以根据需要选择合适的主题,使图表更符合应用的整体风格。

pyecharts 安装

pip 安装:

pip install pyecharts

源码安装:

$ git clone https://github.com/pyecharts/pyecharts.git
$ cd pyecharts
$ pip install -r requirements.txt
$ python setup.py install
# 或者执行 python install.py

安装成功后可以查看 pyecharts 版本:

import pyechartsprint(pyecharts.__version__)

输出如下所示:

2.0.4

pyecharts 图表类型

pyecharts 支持以下图表类型图表:

图表类型pyecharts 类包引入
折线图Linefrom pyecharts.charts import Line
柱状图Barfrom pyecharts.charts import Bar
散点图Scatterfrom pyecharts.charts import Scatter
饼图Piefrom pyecharts.charts import Pie
雷达图Radarfrom pyecharts.charts import Radar
热力图HeatMapfrom pyecharts.charts import HeatMap
K 线图Klinefrom pyecharts.charts import Kline
箱线图Boxplotfrom pyecharts.charts import Boxplot
地图Mapfrom pyecharts.charts import Map
词云图WordCloudfrom pyecharts.charts import WordCloud
仪表盘Gaugefrom pyecharts.charts import Gauge
漏斗图Funnelfrom pyecharts.charts import Funnel
树图Treefrom pyecharts.charts import Tree
平行坐标系图Parallelfrom pyecharts.charts import Parallel
桑基图Sankeyfrom pyecharts.charts import Sankey
地理坐标系图Geofrom pyecharts.charts import Geo
时间线图Timelinefrom pyecharts.charts import Timeline
3D 散点图Scatter3Dfrom pyecharts.charts import Scatter3D
3D 柱状图Bar3Dfrom pyecharts.charts import Bar3D
3D 曲面图Surface3Dfrom pyecharts.charts import Surface3D

创建第一个图表

接下来我们使用 Pyecharts 创建了一个简单的柱状图,展示了五个月份的销售额:

实例

from pyecharts.charts import Bar# 准备数据
x_data = ['一月', '二月', '三月', '四月', '五月']
y_data = [10, 20, 15, 25, 30]# 创建柱状图
bar_chart = Bar()
bar_chart.add_xaxis(x_data)
bar_chart.add_yaxis("销售额", y_data)# 也可以传入路径参数,如 bar_chart.render("bar_chart.html")
bar_chart.render()

如果在 bar_chart.render() 中不指定文件路径,Pyecharts 默认会在当前工作目录下生成一个名为 "render.html" 的文件,即生成的图表将保存在 "render.html" 文件中。

以上代码,执行结果为:

如果你希望图表的文件名有一定的规范,或者想要指定保存的路径,可以在 render() 方法中提供文件路径参数。例如:

bar_chart.render("my_bar_chart.html")

这样,生成的图表就会保存在当前工作目录下的 "my_bar_chart.html" 文件中。

设置图表配置选项

实例中图表的标题是 "月度销售额柱状图",横轴是月份,纵轴是销售额,可以根据实际需求调整数据和图表配置:

实例

from pyecharts import options as opts
from pyecharts.charts import Bar# 准备数据
x_data = ['一月', '二月', '三月', '四月', '五月']
y_data = [10, 20, 15, 25, 30]# 创建柱状图
bar_chart = Bar()
bar_chart.add_xaxis(x_data)
bar_chart.add_yaxis("销售额", y_data)# 配置图表
bar_chart.set_global_opts(title_opts=opts.TitleOpts(title="月度销售额柱状图"),xaxis_opts=opts.AxisOpts(name="月份"),yaxis_opts=opts.AxisOpts(name="销售额(万元)"),
)# 渲染图表
bar_chart.render("bar_chart.html")

说明:

  • Bar():创建一个柱状图对象。
  • add_xaxis 和 add_yaxis:分别用于添加横轴和纵轴的数据。
  • set_global_opts:配置全局选项,包括标题、坐标轴的名称等。

生成的图表将保存为 "bar_chart.html" 文件,你可以在浏览器中打开该文件,查看生成的柱状图。

使用主题

pyecharts 支持主题切换,用户可以根据自己的需求选择合适的主题来改变图表的样式。

pyecharts 提供了 10+ 种内置主题,开发者也可以定制自己喜欢的主题。

以下是一个简单的例子,演示了如何使用 pyecharts 切换主题:

实例

from pyecharts import options as opts
from pyecharts.charts import Bar
# 内置主题类型可查看 pyecharts.globals.ThemeType
from pyecharts.globals import ThemeType# 准备数据
x_data = ['一月', '二月', '三月', '四月', '五月']
y_data = [10, 20, 15, 25, 30]# 创建柱状图
bar_chart = Bar(init_opts=opts.InitOpts(theme=ThemeType.LIGHT))  # 初始主题为亮色系
bar_chart.add_xaxis(x_data)
bar_chart.add_yaxis("销售额", y_data)# 配置图表
bar_chart.set_global_opts(title_opts=opts.TitleOpts(title="月度销售额柱状图"),xaxis_opts=opts.AxisOpts(name="月份"),yaxis_opts=opts.AxisOpts(name="销售额(万元)"),
)# 切换到暗色系主题
bar_chart.set_global_opts(theme=ThemeType.DARK)# 渲染图表
bar_chart.render("themed_bar_chart.html")

以上例子演示了如何在 pyecharts 中使用 ThemeType 来切换主题,pyecharts 支持的主题类型包括 LIGHT(亮色系)、DARK(暗色系)等,你可以根据需求选择合适的主题。

  • init_opts=opts.InitOpts(theme=ThemeType.LIGHT):在创建图表对象时,通过 init_opts 参数指定图表的初始主题,这里设置为亮色系。

生成的图表如下:

以下是 pyecharts 支持的主题列表:

Light Themes(亮色系主题):

  • "LIGHT": 亮色系默认主题
  • "WESTEROS": 经典的暖色调主题
  • "CHALK": 粉笔风格主题
  • "ESSOS": 温和的绿色调主题
  • "INFOGRAPHIC": 信息图形主题
  • "MACARONS": 美味糖果色主题

Dark Themes(暗色系主题):

  • "DARK": 暗色系默认主题
  • "PURPLE-PASSION": 深紫色调主题
  • "SHINE": 简洁的黑色调主题
  • "VINTAGE": 复古风格主题
  • "ROMA": 古罗马风格主题
  • "WALDEN": 森林深色系主题

用户可以通过设置自定义的颜色和样式来创建自定义主题。


设置全局配置项

set_global_opts 是 pyecharts 中用于设置全局配置项的方法,该方法允许你配置整个图表的一些全局属性,如标题、坐标轴、图例等。

以下是一些常用的全局配置项:

bar_chart.set_global_opts(title_opts=opts.TitleOpts(title="月度销售额柱状图", subtitle="副标题"),xaxis_opts=opts.AxisOpts(name="月份"),yaxis_opts=opts.AxisOpts(name="销售额(万元)"),legend_opts=opts.LegendOpts(pos_left="center", pos_top="top"),toolbox_opts=opts.ToolboxOpts(),tooltip_opts=opts.TooltipOpts(trigger="axis", axis_pointer_type="cross"),
)

说明:

  • title_opts: 标题配置项,可以设置主标题和副标题,以及相关的样式设置。
  • xaxis_opts 和 yaxis_opts: x 轴和 y 轴的配置项,可以设置轴的名称、轴线样式等。
  • legend_opts: 图例配置项,可以设置图例的位置、样式等。
  • toolbox_opts: 工具箱配置项,用于添加一些交互工具,如保存为图片、数据视图等。
  • tooltip_opts: 提示框配置项,可以设置提示框的触发方式、样式等。

实例

from pyecharts import options as opts
from pyecharts.charts import Bar# 准备数据
x_data = ['一月', '二月', '三月', '四月', '五月']
y_data = [10, 20, 15, 25, 30]# 创建柱状图
bar_chart = Bar()
bar_chart.add_xaxis(x_data)
bar_chart.add_yaxis("销售额", y_data)# 配置全局属性
bar_chart.set_global_opts(title_opts=opts.TitleOpts(title="月度销售额柱状图", subtitle="副标题"),xaxis_opts=opts.AxisOpts(name="月份"),yaxis_opts=opts.AxisOpts(name="销售额(万元)"),legend_opts=opts.LegendOpts(pos_left="center", pos_top="top"),toolbox_opts=opts.ToolboxOpts(),tooltip_opts=opts.TooltipOpts(trigger="axis", axis_pointer_type="cross"),
)# 渲染图表
bar_chart.render("global_options_bar_chart.html")

生成的图表如下:

更多 pyecharts 模块内容可以参考: pyecharts - A Python Echarts Plotting Library built with love.

希望你也学会了,更多编程源码模板请来二当家的素材网:https://www.erdangjiade.com:

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

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

相关文章

javaweb学习(day04-XML)

一、介绍 1 官方文档 地址: https://www.w3school.com.cn/xml/index.asp 2 为什么需要 XML 需求 1 : 两个程序间进行数据通信需求 2 : 给一台服务器,做一个配置文件,当服务器程序启动时,去读取它应当监听的端口号、还有连接数据库的用户名…

1.3 vue ui框架-element-ui框架

1 前言 ElementUI是一套基于VUE2.0的桌面端组件库,ElementUI提供了丰富的组件帮助开发人员快速构建功能强大、风格统一的页面。 ElementUI官网 https://element.eleme.io 2 安装 运行命令 cnpm i element-ui -S -S表示只在该项目下安装,不是全局安…

JavaWeb之 创建 Web项目,使用Tomcat 部署项目,使用 Maven 构建Web项目(一万八千字详解)

目录 前言3.1 Tomcat 简介3.1.1 什么是 Web服务器3.1.2 Tomcat 是什么3.1.3 小结 3.2 Tomcat 的基本使用3.2.1 下载 Tomcat3.2.2 安装 Tomcat3.2.3 卸载 Tomcat3.2.4 启动 Tomcat3.2.5 关闭 Tomcat3.2.6 配置 Tomcat3.2.7 在 Tomcat 中部署 Web项目 3.3 在 IDEA 中创建 Web 项目…

C#使用iText7给PDF文档添加书签

上一篇文章将SqlSugar官网文档中每个链接对应的网页生成独立PDF文档再合并为单个PDF文档,但是没有书签,八百多页的内容查找和跳转都不方便,本文学习和使用iText7给PDF文档添加多级书签。   添加多级书签分为两大步骤:1&#xff…

Nodejs+vue汽车保养美容管理系统vscode前后端分离项目

汽车美容保养管理系统后台采用nodejs语言开发,前台页面和后台管理页面使用vue等技术开发,使用MySql作为数据持久化存储工具对汽车美容保养管理系统的用户等角色权限对应的功能等进行存储。采用vsocde集成IDE对汽车美容保养管理系统统进行开发,整合系统的各个模块。 拟开发的汽车…

对el-table表格的表头操作

效果1:单层表头合并 图示1: 说明: header-cell-style函数用于给表头添加样式,其返回的值会被添加到表头对应样式中去注意函数的形参中的column.id为单元格的class类大家最好打印一下,结合审查dom看类名 代码&#x…

Springboot项目中定时任务的四种实现方式

文章目录 1. 使用Scheduled注解1.1 时间间隔执行1.2 固定时间点执行 2. 使用EnableScheduling注解启用定时任务3. 实现SchedulingConfigurer接口4. 使用Quartz框架4.1 配置QuartzScheduler4.2 定义Job类和Trigger类 5. 总结 在开发现代应用时,定时任务是一个非常常见…

T-BOC-Aminooxy-PEG2-amine,252378-69-1,分子生物偶联常用试剂

您好,欢迎来到新研之家 文章关键词:252378-69-1,T-BOC-Aminooxy-PEG2-amine,T-BOC-Aminooxy-PEG2-NH2,t-Boc-氨基氧基-PEG2-胺,T-BOC-氨氧基-二聚乙二醇-氨基 一、基本信息 【产品简介】:The…

【leetcode】移除链表元素

大家好,我是苏貝,本篇博客带大家刷题,如果你觉得我写的还不错的话,可以给我一个赞👍吗,感谢❤️ 目录 方法1. 直接在原链表上移除方法2 点击查看题目 方法1. 直接在原链表上移除 思路: 因为…

利用 Python 抓取数据探索汽车市场趋势

一、引言 随着全球对环境保护意识的增强和技术的进步,新能源汽车作为一种环保、高效的交通工具,正逐渐受到人们的关注和青睐。在这个背景下,对汽车市场的数据进行分析和研究显得尤为重要。 本文将介绍如何利用 Python 编程语言,结…

CBAM注意力机制详解(附pytorch复现)

简介 论文原址:1807.06521.pdf (arxiv.org) CBAM(Convolutional Block Attention Module)是一种卷积神经网络模块,旨在通过引入注意力机制来提升网络的表示能力。CBAM包含两个顺序子模块:通道注意力模块和空间注意力…

Unity(第二十二部)官方的反向动力学一般使用商城的IK插件,这个用的不多

反向动力学(Inverse Kinematic,简称IK)是一种通过子节点带动父节点运动的方法。 正向动力学 在骨骼动画中,大多数动画是通过将骨架中的关节角度旋转到预定值来生成的,子关节的位置根据父关节的旋转而改变,这…