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.