Pyecharts-14-图形组合
Pyecharts
有一个非常强大的功能,就是能够将多个图形同时放在一个HTML
页面中。这种方式和其他库的绘制多个子图的方式的区别在于:Pyecharts
中能够自定义位置和图形大小。
本文中将绘制多种不同的图形,并将它们通过页面组件Page
的方式放在同一个HTML
页面中。
绘制多个图形
下面将会绘制多个图形,图形中不会涉及到太多的配置,本文的重点是讲解如何将不同的图形组合在一起。
导入库
1 | from pyecharts.globals import CurrentConfig, OnlineHostType # 事先导入,防止不出图 |
从代码中可以看出来,选择了6个图形进行组合:
- 柱状图Bar
- 饼图Pie
- 折线图Line
- 热力图HeatMap
- 漏斗图Funnel
- 仪表盘Gauge
另外的Grid
和Page
是两个图形组件
模拟数据
柱状图+折线图+饼图是用的一份模拟数据,具体如下:
柱状图
1 | c = ( |
饼图
1 | c = ( |
折线图
1 | c = ( |
热力图
1 | # 0-50 的随机数+列表推导式 |
漏斗图
1 | c = ( |
仪表盘
1 | c = ( |
Page组合
绘图代码
1、先定义每个图形的函数
2、将所有的绘图方法添加到Page中
3、生成HTML文件
1 | # from pyecharts import options as opts |
默认方式
上面采用的是Page的默认绘图方式
当我们打开HTML文件会发现所有的图形都是靠左的,为了显示方便图形被缩小了
缺点:页面的右边空白太多了,使得页面显示效果很差
simple-layout
这种方式会将图形全部放在HTML页面的正中间的,代码改变的部分如下:
1 | # 上面的绘图代码相同 |
我们看看实际的效果:
当我们的屏幕不断缩小的时候,所有的图形会排成一行:
缺点:图形居中的话,布局得到了优化,但是图形较多的时候需要不断地向下移动,而且页面上某个图形有时候只是显示部分,显得突兀。
拖拽布局-DraggablePageLayout
这种方式才是Pyecharts的强大之处👍👍👍。使用这种方式,我们可以得到任何排列和图形大小的布局,代码改变如下:
1 | # 上面的绘图代码相同 |
我们先看看生成的图形:
在这种方式下,图形是可以任意拖拽的,同时大小也可以改变的,我们尝试一种排列方式:
重点来了:我们点击左上角的Save Config,会在本地的相同目录下生成一个json
的配置文件,然后格式化我们的文件
1 | Page.save_resize_html("page_demo.html", # 上面的HTML文件名称 |
这个时候我们在运行一下,生成的HTML
文件就是我们在上面排版的布局,完美👏
保存代码
保存一份关于嵌套圆形图的代码:
1 |
|