9

# yyds干货盘点 # Pyecharts绘图API总结

 2 years ago
source link: https://blog.51cto.com/u_13389043/5067070
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

一、初识Pyecharts

pyecharts简介

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

Pyecharts官网

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

pyecharts安装

pip install pyecharts

二、Pyecharts可视化

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

Scatter

Funnel

Gauge

Graph

折线/面积图

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()

结果如下:

# yyds干货盘点 # Pyecharts绘图API总结_Python库

2.2、line()

from pyecharts.charts import Line
import 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()

结果如下所示:

# yyds干货盘点 # Pyecharts绘图API总结_Python库_02

2.3、Bar()

柱状图的绘制:

from pyecharts.charts import Bar


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

结果如下:

# yyds干货盘点 # Pyecharts绘图API总结_Python可视化_03

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

from pyecharts.charts import Bar
import 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()

结果如下所示:

# yyds干货盘点 # Pyecharts绘图API总结_Python库_04

2.4、Pie()

普通饼图:

from pyecharts.charts import Pie
import 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()

结果如下:

# yyds干货盘点 # Pyecharts绘图API总结_Pyecharts_05

环状饼图:

from pyecharts.charts import Pie
import 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()

如图所示:

# yyds干货盘点 # Pyecharts绘图API总结_饼图_06

玫瑰饼图:

from pyecharts.charts import Pie
import 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()

如图所示:

# yyds干货盘点 # Pyecharts绘图API总结_数据可视化_07

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()

如图所示:

# yyds干货盘点 # Pyecharts绘图API总结_饼图_08

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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK