主题
除了默认的白色底色和dark之外,还支持安装扩展包
pip install echarts-themes-pypkg
echarts-themes-pypkg 提供了 vintage
, macarons
, infographic
, shine
和 roma
主题
1 import random 2 from pyecharts import Bar 3 bar = Bar("我的第一个图表", "这里是vintage") 4 bar.use_theme('vintage') 5 X_AXIS=["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"] 6 bar.add("商家A", X_AXIS, [random.randint(10, 100) for _ in range(6)]) 7 bar.add("商家B", X_AXIS, [random.randint(10, 100) for _ in range(6)]) 8 bar.add("商家C", X_AXIS, [random.randint(10, 100) for _ in range(6)]) 9 bar.add("商家D", X_AXIS, [random.randint(10, 100) for _ in range(6)]) 10 bar.render('vintage.html') 11 12 bar = Bar("我的第一个图表", "这里是macarons") 13 bar.use_theme('macarons') 14 X_AXIS=["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"] 15 bar.add("商家A", X_AXIS, [random.randint(10, 100) for _ in range(6)]) 16 bar.add("商家B", X_AXIS, [random.randint(10, 100) for _ in range(6)]) 17 bar.add("商家C", X_AXIS, [random.randint(10, 100) for _ in range(6)]) 18 bar.add("商家D", X_AXIS, [random.randint(10, 100) for _ in range(6)]) 19 bar.render('macarons.html') 20 21 bar = Bar("我的第一个图表", "这里是infographic") 22 bar.use_theme('infographic') 23 X_AXIS=["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"] 24 bar.add("商家A", X_AXIS, [random.randint(10, 100) for _ in range(6)]) 25 bar.add("商家B", X_AXIS, [random.randint(10, 100) for _ in range(6)]) 26 bar.add("商家C", X_AXIS, [random.randint(10, 100) for _ in range(6)]) 27 bar.add("商家D", X_AXIS, [random.randint(10, 100) for _ in range(6)]) 28 bar.render('infographic.html') 29 30 bar = Bar("我的第一个图表", "这里是shine") 31 bar.use_theme('shine') 32 X_AXIS=["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"] 33 bar.add("商家A", X_AXIS, [random.randint(10, 100) for _ in range(6)]) 34 bar.add("商家B", X_AXIS, [random.randint(10, 100) for _ in range(6)]) 35 bar.add("商家C", X_AXIS, [random.randint(10, 100) for _ in range(6)]) 36 bar.add("商家D", X_AXIS, [random.randint(10, 100) for _ in range(6)]) 37 bar.render('shine.html') 38 39 bar = Bar("我的第一个图表", "这里是roma") 40 bar.use_theme('roma') 41 X_AXIS=["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"] 42 bar.add("商家A", X_AXIS, [random.randint(10, 100) for _ in range(6)]) 43 bar.add("商家B", X_AXIS, [random.randint(10, 100) for _ in range(6)]) 44 bar.add("商家C", X_AXIS, [random.randint(10, 100) for _ in range(6)]) 45 bar.add("商家D", X_AXIS, [random.randint(10, 100) for _ in range(6)]) 46 bar.render('roma.html') 47 48 bar = Bar("我的第一个图表", "这里是dark") 49 bar.use_theme('dark') 50 X_AXIS=["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"] 51 bar.add("商家A", X_AXIS, [random.randint(10, 100) for _ in range(6)]) 52 bar.add("商家B", X_AXIS, [random.randint(10, 100) for _ in range(6)]) 53 bar.add("商家C", X_AXIS, [random.randint(10, 100) for _ in range(6)]) 54 bar.add("商家D", X_AXIS, [random.randint(10, 100) for _ in range(6)]) 55 bar.render('dark.html')
单个图标使用主题:bar.use_theme("vintage")
全部更改为统一主题:
from pyecharts import configure
# 将这行代码置于首部
configure(global_theme='dark')
饼图Pie
from pyecharts import Pie attr = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"] v1 = [11, 12, 13, 10, 10, 10] pie = Pie("饼图示例")#新建饼图示例pie pie.add("", attr, v1, is_label_show=True) pie.show_config()#是否在命令行中显示config,此行可省略 pie.render("普通饼图示例.html")
其中,有一些常用的属性列在下方
注意:title_pos='center'时,会与lengend重合显示
pie = Pie(title='普通饼图示例',title_pos='right',title_color='blue',title_top='bottom',title_text_size=35,page_title='网页标题栏的名称') pie.add("", attr, v1, is_label_show=True,is_legend_show=False) #is_lable_show=True表明每个字段attr的值v1默认直接显示,否则鼠标滑过才显示 #is_legend_show=True表明最上面的图例显示,鼠标选中会变为灰色,下面饼图则不显示此字段
饼图的另一种进阶型——玫瑰饼图
from pyecharts import Pie attr=['衬衣','羊毛衫','雪纺衫','裤子','高跟鞋','袜子'] v1=[5,9,22,6,9,30] v2=[5,9,22,6,9,30] pie=Pie('饼图-玫瑰图示例',title_pos='right',width=1200,height=700) #pie.use_theme('vintage') # add() # center为调整饼图圆心坐标 # is_random为是否随即排列颜色列表(bool) # radius为半径,第一个为内半径,第二个是外半径 # rosetype为是否展示成南丁格尔图:'radius' 圆心角展现数据半分比,半径展现数据大小;'area'圆心角相同,为通过半径展现数据大小(默认) # label_text_size为调整标签字体大小 pie.add('商品A',attr,v1,center=[25,50],is_random=True,radius=[10,45],rosetype='radius',is_lable_show=True) pie.add('商品B',attr,v2,center=[75,50],is_random=False,radius=[30,70],is_legend_show=True,is_lable_show=True) pie.render('饼图-玫瑰图示例.html')
如下图所示:有几个问题没有解决:
1. is_random的值分别是True和False,但是每次运行的结果是True的结果,两个pie图一起更改主题(如果前面设置了主题颜色,则此命令无效)
2. is_lable_show=True无效
3. 坐标位置和半径是绝对值还是百分比?