一、初識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,進行參數設置;
總體說明一下:
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()
結果如下:
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()
結果如下所示:
2.3、Bar()
柱狀圖的繪製:
from pyecharts.charts import Bar
bar = (
Bar()
.add_xaxis(["襯衫", "羊毛衫", "雪紡衫", "褲子", "高跟鞋", "襪子"])
.add_yaxis("商傢A", [5, 20, 36, 10, 75, 90])
bar.render_notebook()
結果如下:
當然,這裏隻是最基本的柱圖使用;我們還可以繪製混閤柱圖;
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()
結果如下所示:
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()
結果如下:
環狀餅圖:
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()
如圖所示:
玫瑰餅圖:
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()
如圖所示:
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()
如圖所示:
三、總結
Pyecharts可以繪製各種各樣的圖錶,主流的一個數據可視化的庫,因為相對於matplotlib,seaborn等數據可視化庫,它的交互性比較好,圖形繪製的比較清晰美觀,所以應用的比較廣泛,本文主要就普通常用圖形做瞭簡單的總結,當然它還可以繪製地理圖形,具體參見官網相關API。
責任編輯: