AutoLeaders算法组——pyecharts的个人笔记输入
饼图的基本方法
-
将代码复制到Jupyter Notebook
-
结合官网的帮助文档来理解方法
-
要画什么图,就导入什么包
from pyecharts.charts import bao #(bao表示图表类型的名称)
-
add()
添加数据 add(“数据类名”,[[数据名,数据],[数据名,数据]...]
-
opts.TitleOpts()
设置标题 opts.TitleOpts(title='标题名')
-
opts.LabelOpts()
设置标签 opts.TitleOpts(formatter="{b}: {c}")
-
.set_colors()
设置颜色
基本样式的代码:
#导入选项包 from pyecharts import options as opts #画什么图就导入什么包(Pie就是导入的包) from pyecharts.charts import Pie #Faker为随机数据包,里面已经设计了很多的数据 from pyecharts.faker import Faker #链式调用 c = ( #实例化一个饼图对象 Pie() #添加数据 .add(series_name="水果", data_pair=[list(z) for z in zip(Faker.choose(), Faker.values())]) #设置标题(全局配置项) .set_global_opts(title_opts=opts.TitleOpts(title="Pie-基本示例")) #设置标签(系列配置项)(a表示系列名,b表示数据项名,c表示数值,d表示百分比) .set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}")) #网页渲染方式 #.render("pie_base.html") ) #notebook的渲染方式: c.render_notebook()
输出结果:
输入参数后代码:
#导入选项包 from pyecharts import options as opts #画什么图就导入什么包(Pie就是导入的包) from pyecharts.charts import Pie data = [["境外输入", 10],["本土新增", 9]] #链式调用 c = ( #实例化一个饼图对象 Pie() #添加数据 .add(series_name="", data_pair=data) #设置标题(全局配置项) .set_global_opts(title_opts=opts.TitleOpts(title="单日新增患者")) #设置标签(系列配置项)(a表示系列名,b表示数据项名,c表示数值,d表示百分比) .set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c} ({d}%)")) #网页渲染方式 #.render("pie_base.html") ) #notebook的渲染方式: c.render_notebook()
输出结果:
修改颜色:
#导入选项包 from pyecharts import options as opts #画什么图就导入什么包(Pie就是导入的包) from pyecharts.charts import Pie data = [["境外输入", 10],["本土新增", 9]] #链式调用 c = ( #实例化一个饼图对象 Pie() #添加数据 .add(series_name="", data_pair=data) #设置标题(全局配置项) .set_global_opts(title_opts=opts.TitleOpts(title="单日新增患者")) #设置标签(系列配置项)(a表示系列名,b表示数据项名,c表示数值,d表示百分比) .set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c} ({d}%)")) #网页渲染方式 #.render("pie_base.html") .set_colors(['rgb(128, 163, 242)','rgb(249,177, 109)']) ) #notebook的渲染方 c.render_notebook()
结果:
极坐标系图的基本方法
-
导入代码步骤:
官网——图表类型——基本图表——Polar:极坐标系——下拉——gallery
-
opts.AngleAxisOpts(data, type_)
设置角轴名称和类型
-
add(series_name, data)
设置数据名和数据
-
opts.TitleOpts(title)
设置标题
基本样式代码:
#导入选项包 from pyecharts import options as opts #导入Polar极坐标系包 from pyecharts.charts import Polar from pyecharts.faker import Faker c = ( #实例化极坐标系对象 Polar() #设置角轴每一部分的名称(data),以及轴的类型(type_="category") .add_schema(angleaxis_opts=opts.AngleAxisOpts(data=Faker.week, type_="category")) #设置数据名称、数据值、表现形式、表示堆叠的值 #(A,B,C表示数据的名称),([num,num,num...]表示每天的数据),(type_="bar"表示树轴) #(stack="",引号内数据相同时可以进行数据堆叠) .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")) ) 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日"] c = ( Polar() .add_schema(angleaxis_opts=opts.AngleAxisOpts(data=date, type_="category")) .add("新增外输", [12, 10, 15, 12, 17, 16, 10], type_="bar", stack="0") .add("新增本土", [8, 12, 6, 15, 7, 9, 9], type_="bar", stack="0") .add("新增无症状", [19, 15, 20, 8, 17, 8, 19], type_="bar", stack="0") .set_global_opts(title_opts=opts.TitleOpts(title="一周内的新增情况")) ) c.render_notebook()
输出结果:
折线图的基本方法
导入代码步骤:
官网——图表类型——基本图表——Parallel:平行坐标系——下拉——gallery——折线图Line——line-line_base
-
add_xaxis(data)
设置x轴的内容(data一般是一个list类型的)
-
add_yaxis("数据名",data)
设置y轴数据名和数据
-
opts.TitleOpts(title)
设置标题
基本样式代码:
import pyecharts.options as opts from pyecharts.charts import Line from pyecharts.faker import Faker c = ( #实例化折线图对象 Line() #设置x轴 .add_xaxis(Faker.choose()) #设置y轴 (faker.values表示"商家A"在y轴的数据) .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 from pyecharts.faker import Faker data = [9,16,17,17,18,15,12,15,12,45,13,24,16,17,12,7,12,17,23,23,15,15,17,14,20,22,21,27,24,25,19] c = ( #实例化折线图对象 Line() #设置x轴 .add_xaxis([i for i in range(1,32)]) #设置y轴 .add_yaxis("新增患病人数", data) #设置标题 .set_global_opts(title_opts=opts.TitleOpts(title="12月新增患者")) ) c.render_notebook()
输出结果:
柱状图的基本方法
导入代码步骤:
官网——图表类型——基本图表——Bar:柱状图——下拉——gallery——柱状图Line——Bar-Bar_datazoom_slider
-
add_xaxis(data)
设置x轴的内容
-
add_yaxis("名称",data)
设置y轴的名称和数据内容
-
opts.TitleOpts("title")
设置标题
-
opts.DataZoomOpts()
设置时间轴
基本样式代码:
#导入选项包 from pyecharts import options as opts #导入柱状图 Bar 包 from pyecharts.charts import Bar from pyecharts.faker import Faker c = ( Bar() #设置x轴的内容 .add_xaxis(Faker.days_attrs) #设置y轴的名称,以及数据值 .add_yaxis("商家A", Faker.days_values) .set_global_opts( title_opts=opts.TitleOpts(title="Bar-DataZoom(slider-水平)"),#设置标题 datazoom_opts=opts.DataZoomOpts(),#设置时间轴 ) ) c.render_notebook()
输出结果:
修改参数后的代码:
#导入选项包 from pyecharts import options as opts #导入柱状图 Bar 包 from pyecharts.charts import Bar from pyecharts.faker import Faker c = ( Bar() #设置x轴的内容(设置月份) .add_xaxis(Faker.months) #设置y轴的名称,以及数据值 .add_yaxis("新增患者人数", Faker.days_values) #设置标题 .set_global_opts( title_opts=opts.TitleOpts(title="各月新增患者人数"), #设置时间轴 datazoom_opts=opts.DataZoomOpts(), ) ) c.render_notebook()
输出结果:
组合图表
导入代码步骤:
官网——图表类型——组合图表——Page:顺序多图——下拉——gallery——柱状图Line——Bar-Bar_datazoom_slider
整合图表
-
第一步
创建一个Page对象,并运用DraggablePageLayout布局(Page就相当于一张白纸,而DraggablePageLayout允许我们拖拽图表来布局)
格式:
#导入Page包 from pyecharts.charts import Page #实例化Page对象,并指定布局方式 page = Page(layout=Page.DraggablePageLayout)
-
第二步
用add()方法,吧四个图表添加Page上
格式:
#把图表添加到页面上 page.add(pie,polar,line,bar)
-
第三步
用render()方法,把Page保存为一个html文件
#渲染为网页 page.render()
-
第四步
调整图表布局,按左上角的Save Config保存配置
-
第五步
重新渲染调整过布局的网页
Page.save_resize_html("render.html", cfg_file="chart_config.json", dest="my_new_charts.html")