AutoLeaders-算法组 pyecharts学习笔记

pyecharts简介

pycharts 是一个由百度开源的数据可视化,凭借着良好的交互性,精巧的图表设计,得到了众多开发者的认可。

基本的绘制方式

  • from pyecharts import options as opts #导入选项包
  • from pyecharts.charts import Pie #画什么图,就导入什么包,此处导入为拼图
  • render() #网页渲染方式
  • c.render_notebook() #notebook专属的渲染方式
  • from pyecharts.faker import Faker #导入Faker包,便于使用一些定义好的数据
  • add('数据类名',[[数据名,数据],[数据名,数据]]) #添加数据
  • opts.TitleOpts(title='标题名') #设置标题
  • opts.LabelOpts(formatter='{a}:{b}:{c}:{d}') #设置标签(饼图、仪表盘、漏斗图: {a}(系列名称),{b}(数据项名称),{c}(数值), {d}(百分比))

.......

绘制饼图

from pyecharts import options as opts #导入选项包
from pyecharts.charts import Pie #画什么图,就导入什么包,此处为导入饼图
from pyecharts.faker import Faker #随机选择一些已经定义好的数据

c = (
    Pie()  #下面为链式调用
    .add(series_name="", data_pair=[list(z) for z in zip(Faker.choose(), Faker.values())]) #add方法用于添加数据
    .set_global_opts(title_opts=opts.TitleOpts(title="Pie-基本示例")) #设置标题配置项
    .set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}")) #设置便签
 # 饼图、仪表盘、漏斗图: {a}(系列名称),{b}(数据项名称),{c}(数值), {d}(百分比)
    #.render("pie_base.html") #网页渲染方式
)
c.render_notebook() #notebook专属的渲染方式

修改

#修改:
from pyecharts import options as opts #导入选项包
from pyecharts.charts import Pie #画什么图,就导入什么包,此处为导入饼图

data=[['境外输入', 10],
 ['本土新增', 9]]
pie = (
    Pie()  #下面为链式调用 
    .add(series_name='',data_pair=data)   #add方法用于添加数据
    .set_global_opts(title_opts=opts.TitleOpts(title="单日新增患者")) #设置标题配置项
    .set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))#设置便签
    #set_colors(['rgb(128,163,242)','rgb[249,177,109)'])
 # 饼图、仪表盘、漏斗图: {a}(系列名称),{b}(数据项名称),{c}(数值), {d}(百分比)
    #.render("pie_base.html") #网页渲染方式
)

pie.render_notebook() #notebook专属的渲染方式

绘制极坐标系图

#绘制极坐标系图
from pyecharts import options as opts #选项包,全局配置项和系列配置项都要用到
from pyecharts.charts import Polar
from pyecharts.faker import Faker

c = (
    Polar() #实例化极坐标系对象,后面的方法都是围绕该对象展开的
    .add_schema(angleaxis_opts=opts.AngleAxisOpts(data=Faker.week, type_="category"))#设置角轴每一部分的名称,以及轴的类型
    #设置数据名称、数据值、表现形式、表示堆叠的值
    .add("A", [1, 2, 3, 4, 3, 5, 1], type_="bar", stack="stack0")
    .add("B", [2, 4, 6, 1, 2, 3, 1], type_="bar", stack="stack0")
    .add("C", [1, 2, 3, 4, 1, 2, 5], type_="bar", stack="stack0")
    
    #设置标题
    .set_global_opts(title_opts=opts.TitleOpts(title="Polar-AngleAxis"))
    #.render("polar_angleaxis.html")
)

c.render_notebook()

修改

#绘制极坐标系图
from pyecharts import options as opts #选项包,全局配置项和系列配置项都要用到
from pyecharts.charts import Polar
from pyecharts.faker import Faker

date = ['12月25日', '12月26日','12月27日', '12月28日', '12月29日', '12月30日', '12月31日']

polar = (
    Polar() #实例化极坐标系对象,后面的方法都是围绕该对象展开的
    .add_schema(angleaxis_opts=opts.AngleAxisOpts(data=date, type_="category"))#设置角轴每一部分的名称,以及轴的类型
    #设置数据名称、数据值、表现形式、表示堆叠的值
    .add("境外输入", [12,10,15,12,17,16,10], type_="bar", stack="stack0")
    .add("本土新增", [8,12,6,15,7,9,9], type_="bar", stack="stack0")
    .add("无症状患者", [19,15,20,8,17,8,19], type_="bar", stack="stack0")
    
    #设置标题
    .set_global_opts(title_opts=opts.TitleOpts(title="本周新增患者情况"))
    #.render("polar_angleaxis.html")
)

polar.render_notebook()

绘制极坐标系图基本要点总结

#1 opts.AngleAxisOpts(data,type_)   设置角轴名称和类型
#2 add(series_name,data)  设置数据名、数据值、表现形式、表示堆叠的值
#3 opts.TitleOpts(title)  设置标题

绘制折线图

import pyecharts.options as opts
from pyecharts.charts import Line
from pyecharts.faker import Faker

c = (
    Line() #实例化折线图对象
    .add_xaxis(Faker.choose()) #设置x轴
    .add_yaxis("商家A", Faker.values())#设置数据的名称以及数据
    .add_yaxis("商家B", Faker.values())
    .set_global_opts(title_opts=opts.TitleOpts(title="Line-基本示例"))
)
c.render_notebook()

修改

import pyecharts.options as opts
from pyecharts.charts import Line
import numpy as np
data1=[11, 19,  1,  6, 12,  4,  4, 18, 14,  7,  0,  9,  6,  0,  6,  6,
        16, 11,  8, 13,  9, 18, 14, 19, 19, 13,  2,  0, 13, 18,  7,  5]
data2=[17,  4, 10, 19, 12,  9, 13, 18,  7,  1, 16, 11,  0, 18, 18,  5,
        10, 19,  9,  6,  7,  4, 15, 12,  4,  3,  1,  3,  1,  1, 12,  5]
data3=[ 5, 16,  0, 14,  5, 12, 17, 10, 11,  8,  1,  9,  4, 15,  5,  2,
        13,  1,  9, 15, 18, 11, 12,  5, 15, 15,  7,  4,  7, 14, 13,  9]
line = (
    Line() #实例化折线图对象
    .add_xaxis([i for i in range(1,32)]) #设置x轴
    .add_yaxis("新增患者人数", data1)#设置数据的名称以及数据
    .add_yaxis("境外输入", data2)
    .add_yaxis('本土病例',data3)
    .set_global_opts(title_opts=opts.TitleOpts(title="12月新增患者"))
)
line.render_notebook()

绘制带时间轴的柱状图

from pyecharts import options as opts
from pyecharts.charts import Bar
from pyecharts.faker import Faker

month=[]
for i in range(1,13):
    i=str(i)
    i=i+'月'
    month.append(i)
    
data=[197,  98, 999, 782, 561, 150, 893, 193, 541, 699, 887, 619]
    

bar = (
    Bar() #实例化一个柱状图对象
    .add_xaxis(month) #设置x轴内容,这里也可以用Faker.months
    .add_yaxis("每月感染人数", data) #设置y轴名称及y轴数值
    .set_global_opts(
        title_opts=opts.TitleOpts(title="2022年疫情"), #设置标题
        datazoom_opts=opts.DataZoomOpts(),  #设置区域缩放轴
    )
   
)
bar.render_notebook()

整合图表

#1 创建一个Page对象,并运用DraggablePageLayout步局(Page对象相当于一张白纸,而DraggablePageLayout允许我们拖拽图表来进行布局)
from pyecharts.charts import Page
page = Page(layout=Page.DraggablePageLayout)
page.add(bar,line,pie,polar) # 2 用add()方法把四个图表添加到page上
page.render()

保存图表

Page.save_resize_html("render.html", cfg_file=r"D:\360极速浏览器下载\chart_config.json", dest="my_new_charts.html")
#新渲染调整过局部的网页

笔记如上,若有需要调用的或需要查找的到官网文档即可

文档地址:pyecharts - A Python Echarts Plotting Library built with love.

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ToxicLuv

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值