Pyecharts绘图API总结

简介: Pyecharts绘图API总结

一、初识Pyecharts


pyecharts简介

pyecharts 是一个用于生成 Echarts 图表的类库, Echarts 是一个由百度开源的数据可视化,凭借着良好的交互性,精巧的图表设计,得到了众多开发者的认可。而 Python 是一门富有表达力的语言,很适合用于数据处理。当数据分析遇上数据可视化时,pyecharts 诞生了。


Pyecharts官网

https://pyecharts.org/#/zh-cn/intro


pyecharts安装

pip install pyecharts


二、Pyecharts可视化


使用pyecharts可以绘制如下图表:

Scatter 散点图 Funnel 漏斗图
Bar 柱状图 Gauge 仪表盘
Pie 饼图 Graph 关系图
Line 折线/面积图 Liquid 水球图
Radar 雷达图 Parallel 平行坐标系
Sankey 桑基图 Polar 极坐标系
WordCloud 词云图 HeatMap 热力图

这里我们简介一下常用的图表的API:


2.0、初始化设置

导入相关库:

from pyecharts.charts import *import pyecharts.options as opts
  • from pyecharts.charts import *: 可以使用所有的图表对应的函数;
  • 使用 options 配置项,在 pyecharts 中,一切皆 Options,进行参数设置;


总体说明一下:

  1. .render_notebook ()随时随地渲染图表;
  2. .render() 这个不会直接产生图表,而是形成一个render.html的文件,可在浏览器中打开查看图表;


2.1、scatter()

这里我们绘制一个正余弦的散点图

x = np.linspace(0, 2*np.pi, 100)y = np.sin(x)y2 = np.cos(x)
# 参数设置(Scatter() # 图形种类 .add_xaxis(xaxis_data=x) # 设置x轴序列 .add_yaxis(series_name='sin', y_axis=y) # 设置y轴序列 .add_yaxis(series_name='cos', y_axis=y2, label_opts=opts.LabelOpts(is_show=False)) # is_show = False:表示不显示数值部分).render_notebook()

结果如下:

image.png


2.2、line()

from pyecharts.charts import Lineimport pyecharts.options as opts
x = np.linspace(0, 2*np.pi, 100)y = np.sin(x)
(    Line()    .add_xaxis(xaxis_data=x)    .add_yaxis(series_name='sin', y_axis=y, label_opts=opts.LabelOpts(is_show=False))    .add_yaxis(series_name='cos', y_axis=np.cos(x), label_opts=opts.LabelOpts(is_show=False))    .set_global_opts(title_opts=opts.TitleOpts(title='曲线'),                     tooltip_opts=opts.TooltipOpts(axis_pointer_type='cross')                    )).render_notebook()

结果如下所示:

image.png


2.3、Bar()

柱状图的绘制:

from pyecharts.charts import Bar
bar = (    Bar()    .add_xaxis(["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"])    .add_yaxis("商家A", [5, 20, 36, 10, 75, 90]))bar.render_notebook()

结果如下:

image.png

当然,这里只是最基本的柱图使用;我们还可以绘制混合柱图;

from pyecharts.charts import Barimport pyecharts.options as opts
num = [110, 136, 108, 48, 111, 112, 103]num2 = [90, 110, 101, 70, 90, 120, 99]lab = ['哈士奇', '萨摩耶', '泰迪', '金毛', '牧羊犬', '吉娃娃', '柯基']
(    Bar(init_opts=opts.InitOpts(width='720px', height='320px'))    .add_xaxis(xaxis_data=lab)    .add_yaxis(series_name='商家A', yaxis_data=num)    .add_yaxis(series_name='商家B', yaxis_data=num2)    .set_global_opts(        title_opts=opts.TitleOpts(title='各商家拥有犬类数量情况', subtitle='如有雷同,纯属意外')    )).render_notebook()

结果如下所示:


image.png

2.4、Pie()

普通饼图:

from pyecharts.charts import Pieimport pyecharts.options as opts
num = [110, 136, 108, 48, 111, 112, 103]lab = ['哈士奇', '萨摩耶', '泰迪', '金毛', '牧羊犬', '吉娃娃', '柯基']
(    Pie(init_opts=opts.InitOpts(width='720px', height='320px'))    .add(series_name='',          data_pair=[(j, i) for i, j in zip(num, lab)]        )).render_notebook()

结果如下:

image.png


环状饼图:

from pyecharts.charts import Pieimport pyecharts.options as opts
num = [110, 136, 108, 48, 111, 112, 103]lab = ['哈士奇', '萨摩耶', '泰迪', '金毛', '牧羊犬', '吉娃娃', '柯基']
(    Pie(init_opts=opts.InitOpts(width='720px', height='320px'))    .add(series_name='',          radius=['40%', '75%'],         data_pair=[(j, i) for i, j in zip(num, lab)]        )).render_notebook()

如图所示:

image.png


玫瑰饼图:

from pyecharts.charts import Pieimport pyecharts.options as opts
num = [110, 136, 108, 48, 111, 112, 103]lab = ['哈士奇', '萨摩耶', '泰迪', '金毛', '牧羊犬', '吉娃娃', '柯基']
(    Pie(init_opts=opts.InitOpts(width='720px', height='320px'))    .add(series_name='', #          radius=['40%', '75%'],#          center=['25%', '50%'],         rosetype='radius',         data_pair=[(j, i) for i, j in zip(num, lab)]        )).render_notebook()

如图所示:

image.png


2.5、图表的组合使用

from pyecharts.charts import Bar, Line
num = [110, 136, 108, 48, 111, 112, 103]lab = ['哈士奇', '萨摩耶', '泰迪', '金毛', '牧羊犬', '吉娃娃', '柯基']
bar = (    Bar(init_opts=opts.InitOpts(width='720px', height='320px'))    .add_xaxis(xaxis_data=lab)    .add_yaxis(series_name='', yaxis_data=num))
lines = (    Line()    .add_xaxis(xaxis_data=lab)    .add_yaxis(series_name='', y_axis=num, label_opts=opts.LabelOpts(is_show=False)))
bar.overlap(lines).render_notebook()

如图所示:

image.png


三、总结


Pyecharts可以绘制各种各样的图表,主流的一个数据可视化的库,因为相对于matplotlib,seaborn等数据可视化库,它的交互性比较好,图形绘制的比较清晰美观,所以应用的比较广泛,本文主要就普通常用图形做了简单的总结,当然它还可以绘制地理图形,具体参见官网相关API。

相关文章
|
4月前
|
人工智能 Serverless API
AI 创业及变现新思路:零门槛 AI 绘图,定制 ComfyUI Serverless API 应用
为了帮助用户高效率、低成本应对企业级复杂场景,本文介绍 ComfyUI API Serverless 版解决方案,通过使用该方案,用户可以充分利用 ComfyUI +Serverless 技术优势快速开发上线 AI 绘画应用,期待为广大开发者 AI 绘画创业及变现提供思路。
|
7月前
|
移动开发 前端开发 API
HTML5 Canvas 提供丰富的绘图API,支持绘制图形、文本、渐变和图像,助力游戏开发
【5月更文挑战第13天】HTML5 Canvas 提供丰富的绘图API,支持绘制图形、文本、渐变和图像,助力游戏开发。关键功能包括绘制基本形状、文本渲染、图像处理及渐变图案。在游戏开发中,Canvas用于绘制游戏元素、实现动画效果、精确的物理碰撞检测,并具有跨平台兼容性,为创造多样化视觉体验和互动游戏提供强大工具。随着技术进步,Canvas在游戏领域的应用将持续增长。
69 4
Qt 窗口常用位置API函数 & 绘图原理 & 双缓冲机制 总结
Qt 窗口常用位置API函数 & 绘图原理 & 双缓冲机制 总结
|
7月前
|
移动开发 前端开发 API
简述HTML5 Canvas的基本绘图API及其在游戏开发中的作用。
HTML5 Canvas 提供丰富的绘图API,用于在网页上绘制图形、动画和视觉效果,支持基本形状、文本、渐变、图像及像素操作。在游戏开发中,Canvas API用于绘制游戏元素、实现动画效果、进行物理碰撞检测,并具备跨平台兼容性,为创新游戏体验提供强有力的支持。
41 1
|
API C# Windows
C#实现操作Windows窗口句柄:常用窗口句柄相关API、Winform中句柄属性和Process的MainWindowHandle问题【窗口句柄总结之三】
本篇主要介绍一些与窗口句柄相关的一些API,比如设置窗口状态、当前激活的窗口、窗口客户区的大小、鼠标位置、禁用控件等,以及介绍Winform中的句柄属性,便于直接获取控件或窗体句柄,以及不推荐...
3260 0
C#实现操作Windows窗口句柄:常用窗口句柄相关API、Winform中句柄属性和Process的MainWindowHandle问题【窗口句柄总结之三】
|
API 开发者 Python
Matplotlib中的两种绘图API说明
在Matplotlib库中提供了两种风格的API供开发者使用:一种是Pyplot编程接口(state-based),一种是面向对象对象的编程接口(object-based)。
119 0
|
JavaScript 前端开发 API
JavaScript数组API总结
JavaScript数组API总结
JavaScript数组API总结
|
Java API
Java中常用API总结(5)—— Object类中的深克隆和浅克隆
不管对象内部的属性是基本数据类型还是引用数据类型,都完全拷贝过来;基本数据类型拷贝过来的是具体的数据,引用数据类型拷贝过来的是地址值。在Object类中默认的克隆方式就是浅克隆
198 0
Java中常用API总结(5)—— Object类中的深克隆和浅克隆
|
Java API
Java中常用API总结(4)—— Object类(含实例解读和源码阅读)
Object类所在包是java.lang包,Object 是类层次结构的根,每个类都可以将 Object 作为超类。所有类都直接或者间接的继承自该类;换句话说,该类所具备的方法,其他所有类都继承了。
181 0
Java中常用API总结(4)—— Object类(含实例解读和源码阅读)
|
Java API
Java中常用API总结(3)—— Runtime类(含实例解读)
Runtime类所在包为java.lang包,因此在使用的时候不需要进行导包;并且Runtime类被public修饰了,因此该类是可以被继承的
209 0
Java中常用API总结(3)—— Runtime类(含实例解读)