目录

 

1.绘制散点图

2.绘制饼图

2.1绘制实心饼图

 2.2 绘制圆形饼图

2.3 绘制玫瑰图

3.绘制漏斗图

4.绘制仪表盘

5.绘制组合图表


本文主要介绍如何利用Pyecharts来绘制一些常用的可视化图形,比如散点图、饼图、漏斗图等等,具体的绘制方法请见下文。

1.绘制散点图

pyecharts使用Scatter绘制散点图。

from pyecharts import options as opts
from pyecharts.charts import Scatter
week = ["周一", "周二", "周三", "周四", "周五", "周六", "周日"]
c = Scatter()
c.add_xaxis(week)
c.add_yaxis("商家A", [81,65,48,32,68,92,87])
c.set_global_opts(title_opts=opts.TitleOpts(title="Scatter-一周的销售额(万元)"))
c.render_notebook()

结果图:

Pyecharts数据可视化(二)-LMLPHP

2.绘制饼图

饼图常用于表示不同类别的占比情况。使用Pie()方法可以绘制饼图。

2.1绘制实心饼图

from pyecharts import options as opts
from pyecharts.charts import Page, Pie
L1=['教授','副教授','讲师','助教','其他']
num  = [20,30,10,12,8]
c = Pie()
c.add("", [list(z) for z in zip(L1,num)])
c.set_global_opts(title_opts=opts.TitleOpts(title="Pie-职称类别比例"))
c.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))
c.render_notebook()

结果图:

Pyecharts数据可视化(二)-LMLPHP

 2.2 绘制圆形饼图

from pyecharts import options as opts
from pyecharts.charts import Page, Pie
wd = ['教授','副教授','讲师','助教','其他']
num = [20,30,10,12,8]
c = Pie()
c.add("",[list(z) for z in zip(wd, num)],radius = ["40%", "75%"])   
# 圆环的粗细和大小
c.set_global_opts( title_opts=opts.TitleOpts(title="Pie-Radius"),legend_opts=opts.LegendOpts( orient="vertical", pos_top="5%", pos_left="2%" ))
c .set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))
c.render_notebook()

结果图:

Pyecharts数据可视化(二)-LMLPHP

2.3 绘制玫瑰图

from pyecharts import options as opts
from pyecharts.charts import Page, Pie
data1 = [45,86,39,52,68]
data2 = [67,36,64,89,123]
labels = ['电脑','手机','彩电','冰箱','洗衣机']
c = Pie()
c.add("",[list(z) for z in zip(labels, data1)],radius=["35%", "70%"],center=[250,220],rosetype='radius')
c.add("",[list(z) for z in zip(labels, data2)],radius=["35%", "70%"],center=[650,240],rosetype='area')
c.set_global_opts(title_opts=opts.TitleOpts(title="玫瑰图"))
c.render_notebook()

结果图:

Pyecharts数据可视化(二)-LMLPHP

 

3.绘制漏斗图

from pyecharts.charts import Funnel
from pyecharts import options as opts
%matplotlib inline
data = [45,86,39,52,68]
labels = ['电脑','手机','彩电','冰箱','洗衣机']
wf = Funnel()
wf.add('电器销量图',[list(z) for z in zip(labels, data)], is_selected= True)
wf.render_notebook()

结果图:

Pyecharts数据可视化(二)-LMLPHP

4.绘制仪表盘

from pyecharts import options as opts
from pyecharts.charts import Gauge
data = [("完成率", 60)]
gauge = (
    Gauge()
    .add(
        "仪表盘名称",
        data,
        title_label_opts=opts.LabelOpts(
            position="inside"  # 将指标名称放在仪表盘内部
        ),
        detail_label_opts=opts.GaugeDetailOpts(
            offset_center=[0, "40%"]  # 将数据值放在仪表盘上方
        ),
    )
    .set_global_opts(
        title_opts=opts.TitleOpts(title="仪表盘标题"),
        legend_opts=opts.LegendOpts(is_show=False),
    )
)
gauge.render_notebook()

结果图:

Pyecharts数据可视化(二)-LMLPHP

5.绘制组合图表

from pyecharts import options as opts
from pyecharts.charts import Bar, Grid, Line,Scatter
A = ["小米", "三星", "华为", "苹果", "魅族", "VIVO", "OPPO"]
CA = [100,125,87,90,78,98,118]
B = ["草莓", "芒果", "葡萄", "雪梨", "西瓜", "柠檬", "车厘子"]
CB = [78,95,120,102,88,108,98]
bar = Bar()
bar.add_xaxis(A)
bar.add_yaxis("商家A",CA)
bar.add_yaxis("商家B", CB)
bar.set_global_opts(title_opts=opts.TitleOpts(title="Grid-Bar"))
bar.render_notebook()
line=Line()
line.add_xaxis(B)
line.add_yaxis("商家A", CA)
line.add_yaxis("商家B", CB)
line.set_global_opts(title_opts=opts.TitleOpts(title="Grid-Line", pos_top="48%"),
legend_opts=opts.LegendOpts(pos_top="48%"))
line.render_notebook()
grid = Grid()
grid.add(bar, grid_opts=opts.GridOpts(pos_bottom="60%"))
grid.add(line, grid_opts=opts.GridOpts(pos_top="60%"))
grid.render_notebook()

结果图:

Pyecharts数据可视化(二)-LMLPHP

 

 

 

09-03 14:25