整理自官网
from pyecharts.globals import CurrentConfig, OnlineHostType
CurrentConfig.ONLINE_HOST = OnlineHostType.NOTEBOOK_HOST
饼图
from pyecharts.charts import Pie
from pyecharts import options as opts
x = ['18岁以下','18-35', '35-60','60岁以上']
y = [20, 25, 45,10]
data_pair = [list(i) for i in zip(x,y)]
pie = Pie(init_opts=opts.InitOpts(height='350px', width='850px', bg_color='#CCCCCC'))
pie.add(
'年龄段占比',data_pair=data_pair,
# 半径大小
radius='40%',
# 位置
center=['25%','35%']
)
pie.add('年龄段占比',data_pair=data_pair, radius=['40%','25%'], center=['70%', '35%'])
pie.add('年龄段占比',data_pair=data_pair, radius='40%', center=['25%', '75%'], rosetype="radius")
pie.add('年龄段占比',data_pair=data_pair, radius='40%', center=['70%', '75%'], rosetype="area")
pie.set_global_opts(
title_opts={
'text':'基本图表'},
tooltip_opts=opts.TooltipOpts(trigger='item', formatter='{a}<br/>{b}:{c}({d}%)'),
legend_opts=opts.LegendOpts(pos_top='40px', pos_right='30px',orient='vertical')
)
pie.set_colors(['#99CCFF','#66CCFF','#0099CC','#006699'])
pie.set_series_opts(label_opts=opts.LabelOpts(color='black'))
pie.render_notebook()
# tooltip的文字格式:{a}系列名称 {b}类别名称 {c}类别值 {d}类别百分比
data_pair1 = [list(i) for i in zip(['男','女'], [100, 130])] # 内层的
data_pair2 = [list(i) for i in zip(x+['女>%s'%i for i in x], y+[20, 45, 45, 20])] # 外层的
pie = Pie(init_opts=opts.InitOpts(height='350px', width='850px'))
pie.add('性别和年龄', data_pair=data_pair1, center=['50%','50%'], radius='30%', label_opts=opts.LabelOpts(position='inner',color='black'))
pie.add('性别和年龄', data_pair=data_pair2, center=['50%','50%'], radius=['40%', '65%'],label_opts=opts.LabelOpts(color='black'))
pie.set_global_opts(
title_opts={
'text':'基本图表'},
tooltip_opts=opts.TooltipOpts(trigger='item', formatter='{a}<br/>{b}:{c}({d}%)'),
legend_opts=opts.LegendOpts(pos_top='40px', pos_right='30px',orient='vertical'),
)
# 从内到外
pie.set_colors(['#33CCCC','#FF9933','#99CCFF','#66CCFF','#0099CC','#006699','#FFCC99','#FFCC66','#FFCC33','#FFCC00'])
pie.render_notebook()
极坐标
import numpy as np
from pyecharts.charts import Polar
from pyecharts import options as opts
p1 = Polar(init_opts=opts.InitOpts(height='300px', width='350px'))
p1.add('', [(i, i*np.random.rand()) for i in range(50)],
type_='scatter', # line bar effect_scatter
# 标记类型
symbol='circle', # rect', 'roundRect', 'triangle', 'diamond', 'pin', 'arrow'
symbol_size=4, stack=None,
)
p1.set_global_opts(title_opts=opts.TitleOpts(title='基本设定',