pyecharts,一个开源数据可视化 Python 库

文摘   2024-11-17 19:58   山东  
大家好,今天 668为大家分享一个很适合数据分析的开源数据可视化 Python 库 – pyecharts。

Python statsmodels是一个强大的统计分析库,提供了丰富的统计模型和数据处理功能,可用于数据分析、预测建模等多个领域。本文将介绍statsmodels库的安装、特性、基本功能、高级功能、实际应用场景等方面。

Python + ECharts = pyecharts。

Apache ECharts 是一款百度开源的数据可视化第三方库,凭借着良好的交互性,精巧的图表设计,得到了众多开发者的认可。

Python 是一门富有表达力的语言,很适合用于数据处理,当数据分析遇上数据可视化时,pyecharts 诞生了。

快速开始

以下是我推荐的写法,可以快速绘制一个图形,推荐使用链式调用:

import pyecharts as pe
( # 调用图形,初始配置 pe.charts.Bar(dict(width="1220px", height="420px", theme='light')) .add_xaxis([*df.name]) # 增加 x 轴 .add_yaxis('Q1', df.Q1.to_list()) # 增加 y 轴 .render_notebook() # 在 notebook 上展示)

概述

pyecharts 的主要对象有:

  • pe.charts:绘图的类,是核心对象,可以用类似 pe.charts.Bar 类和方法生成各种图形;

  • pe.options:图表的中各种配置,有针对全局及不同图形的配置方法,可用类似 pe.options.AxisOpts 类和方法进行配置。

还包括:

  • faker.py :一些供演示的简单假数据

  • globals.py:一些涉及全局配置的值

初始化配置

# pe.charts.Bar(dict(...))width="1220px" # 宽度height="420px" # 高度theme='light' # 主题样式 pe.globals.ThemeType

全局配置

# .set_global_opts(dict(...))

绘制样式:

pe.charts.Bar(init_opts=opts.InitOpts(theme=ThemeType.LIGHT))# 取值LIGHT = "light"DARK = "dark"WHITE = "white"CHALK: str = "chalk"ESSOS: str = "essos"INFOGRAPHIC: str = "infographic"MACARONS: str = "macarons"PURPLE_PASSION: str = "purple-passion"ROMA: str = "roma"ROMANTIC: str = "romantic"SHINE: str = "shine"VINTAGE: str = "vintage"WALDEN: str = "walden"WESTEROS: str = "westeros"WONDERLAND: str = "wonderland"HALLOWEEN: str = "halloween"

常用图形

折线图

todo

柱状图

# .reversal_axis() 横向柱形图(方法)

todo

Jupyter Lab

在 Jupyter Lab 上使用时需要做如下配置:

import pyecharts as pe
# 其他:"jupyter_notebook", "nteract", "zeppelin"pe.globals.CurrentConfig.NOTEBOOK_TYPE = 'jupyter_lab'# 对应图形加载 JS 文件pe.charts.Bar().load_javascript()
( pe.charts.Bar(dict(width="1220px", height="420px")) .add_xaxis([...]) .add_yaxis('...', [...]) .render_notebook() # 网页展示图表)

数据的构造

由于 pyecharts 设计理念为通用库,因此没有引入 NumPy 和 Pandas 的数据结构,在绘图时,一般需要列表和字典格式的结构,可以通过以下形式进行转换:

series.to_list()[*a][*series][*array]

在使用 Pandas&Numpy 时,请确保将数值类型转换为 python 原生的 int/float。比如整数类型请确保为 int,而不是 numpy.int32。

参数传递

pyecharts 对配置项基本上都采用 XXXOpts/XXXItems 以及 dict 两种数据形式,这两种是完全等价的。比如下面三者效果是一致的:

from pyecharts import options as optsfrom pyecharts.charts import Bar
c = Bar(init_opts=opts.InitOpts(width="620px", height="420px"))c = Bar(dict(width="620px", height="420px"))c = Bar({"width": "620px", "height": "420px"})

Note: 不是每个配置项的名字都与 dict key 相等,比如 max, min, type 等,因为和 Python 原生关键字冲突了,所以使用 下划线作为后缀,具体应该参考每个配置项的 self.opts 属性。

支持的图形

pyecharts 支持以下图形,写法为:

import pyecharts as pe
# 调用图形的类用于绘制不同的图形pe.charts.Bar()

关于不同图形的设置和数据结构可以参考官方网站的文档,有中文版本,非常详细。

frompyechartsimportoptionsasoptsfrompyecharts.chartsimportBar,Pagefrompyecharts.fakerimportCollector,Fakerfrompyecharts.globalsimportThemeType
# 基础图形BarBMapBoxplotCalendarEffectScatterFunnelGaugeGeoGraphHeatMapKlineLineLiquidMapParallelPictorialBarPiePolarRadarSankeyScatterSunburstThemeRiverTreeTreeMapWordCloud
# 合成图GridPageTabTimeline
# 三维图表Bar3DLine3DMap3DMapGlobeScatter3DSurface3D
# 别名Candlestick=Kline

参考

  • https://pyecharts.org

  • https://gallery.pyecharts.org

  • https://github.com/pyecharts/pyecharts

  • https://echarts.apache.org/

    • https://echarts.apache.org/zh/option.html

    • https://echarts.apache.org/zh/api.html

668号厅苏女士
668小苏专业吐槽副业试片 天天追新剧,偶尔补老番 感谢关注,喜欢就留下吧~
 最新文章