说明
《Python 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gairuo123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
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.Bar
类和方法生成各种图形;pe.options.AxisOpts
类和方法进行配置。还包括:
# 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 上使用时需要做如下配置:
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 opts
from 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()
关于不同图形的设置和数据结构可以参考官方网站的文档,有中文版本,非常详细。
from pyecharts import options as opts
from pyecharts.charts import Bar, Page
from pyecharts.faker import Collector, Faker
from pyecharts.globals import ThemeType
# 基础图形
Bar
BMap
Boxplot
Calendar
EffectScatter
Funnel
Gauge
Geo
Graph
HeatMap
Kline
Line
Liquid
Map
Parallel
PictorialBar
Pie
Polar
Radar
Sankey
Scatter
Sunburst
ThemeRiver
Tree
TreeMap
WordCloud
# 合成图
Grid
Page
Tab
Timeline
# 三维图表
Bar3D
Line3D
Map3D
MapGlobe
Scatter3D
Surface3D
# 别名
Candlestick = Kline
更新时间:2021-11-28 19:36:43 标签:python echarts 可视化