Pyecharts 简介
pyecharts 是一个用于生成 Echarts 图表的类库。Echarts 是百度开源的一个数据可视化 JS 库。用 Echarts 生成的图可视化效果非常棒,pyecharts 是为了与 Python进行对接,方便在 Python 中直接使用数据生成图。
Pyecharts 通用配置项
代码演示:
import pyecharts
#画简单的柱状图
from pyecharts import Bar
bar = Bar("主标题", "这里是副标题")
# pyecharts 遵循所有图表都先定义数据在进行展示
bar.add("服装", ["衬衫", "羊毛衫", "雪纺衫","裤子", "高跟鞋", "袜子"],
[5, 20, 36, 10, 75, 90])
#方法一: 将图表渲染输出到html页面
# bar.render() # 如果不传参数,默认保存到当前文件夹下
# 方法二: 直接再jupyter中展示
bar
结果显示:
secondBar = Bar('主标题','副标题')
# is_more_utils 是否显示工具栏
secondBar.add("服装", ["衬衫", "羊毛衫", "雪纺衫","裤子", "高跟鞋", "袜子"],
[5, 20, 36, 10, 75, 90],
is_more_utils=True) #设置出现最右侧的工具栏
secondBar
结果显示:
#会调试输了pyecharts的js配置信息
secondBar.show_config()
#根据柱状图,绘制堆积图
attr = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", " 袜子"]
v1 = [5, 20, 36, 10, 75, 90]
v2 = [10, 25, 8, 60, 20, 80]
bar = Bar("柱状图数据堆叠示例")
bar.add("商家A", attr, v1, is_stack=True)
bar.add("商家B", attr, v2, is_stack=True)
bar
结果显示:
#根据柱状图,绘制带标记线和标记点图
attr = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", " 袜子"]
v1 = [5, 20, 36, 10, 75, 90]
v2 = [10, 25, 8, 60, 20, 80]
bar = Bar("标记线和标记点示例")
bar.add("商家A", attr, v1,markpoint=['average'])
bar.add("商家B", attr, v2,mark_line=['min','max'])
bar
结果显示:
#根据柱状图,交换x轴和y轴
attr = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
v1 = [5, 20, 36, 10, 75, 90]
v2 = [10, 25, 8, 60, 20, 80]
bar = Bar("x 轴和 y 轴交换")
bar.add("商家A", attr, v1)
bar.add("商家B", attr, v2,is_convert=True)
bar
结果显示:
#折线图/面积图-1
from pyecharts import Line
attr = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
v1 = [5, 20, 36, 10, 10, 100]
v2 = [55, 60, 16, 20, 15, 80]
line = Line("折线图示例")
line.add("商家A", attr, v1, mark_point=["average"])
line.add("商家B", attr, v2, is_smooth=True, mark_line=["max", "average"])
line
结果显示:
#折线图/面积图-2
attr = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", " 袜子"]
v1 = [5, 20, 36, 10, 10, 100]
v2 = [55, 60, 16, 20, 15, 80]
line = Line("折线图示例")
line.add("商家A", attr, v1, mark_point=["average", "max", "min"],
mark_point_symbol='diamond',
mark_point_textcolor='#40ff27')
line.add("商家B", attr, v2, mark_point=["average", "max", "min"],
mark_point_symbol='arrow',
mark_point_symbolsize=40)
line
结果显示:
#折线图/面积图-3
attr = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", " 袜子"]
v1 = [5, 20, 36, 10, 10, 100]
v2 = [55, 60, 16, 20, 15, 80]
line = Line("折线图-面积图示例")
line.add("商家A", attr, v1, is_fill=True, line_opacity=0.2, area_opacity=0.4, symbol=None) #opacity不透明度
line.add("商家B", attr, v2, is_fill=True, area_color='#000', area_opacity=0.3, is_smooth=True)
line
结果显示:
#绘制饼图-1
from pyecharts import Pie
attr = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高 跟鞋", "袜子"]
v1 = [11, 12, 13, 10, 10, 10]
pie = Pie("饼图示例")
pie.add("", attr, v1, is_label_show=True)
pie
结果显示:
#绘制饼图-2
attr = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高 跟鞋", "袜子"]
v1 = [11, 12, 13, 10, 10, 10]
pie = Pie("饼图-圆环图示例", title_pos='center')
pie.add("", attr, v1, radius=[40, 75], label_text_color=None,
is_label_show=True,
legend_orient='vertical',
legend_pos='left')
pie
结果显示:
#散点图-1
from pyecharts import Scatter
v1 = [10, 20, 30, 40, 50, 60]
v2 = [10, 20, 30, 40, 50, 60]
scatter = Scatter("散点图示例")
scatter.add("A", v1, v2)
scatter.add("B", v1[::-1], v2)
scatter
结果显示:
#散点图-2
v1 = [10, 20, 30, 40, 50, 60]
v2 = [10, 20, 30, 40, 50, 60]
scatter = Scatter("散点图示例")
scatter.add("A", v1, v2)
scatter.add("B", v1[::-1], v2,
is_visualmap=True,
visual_type='size',
visual_range_size=[20, 80])
scatter
结果显示: