环境内容
python==3.6+
jupyter==1.0.0+
pyecharts=1.0+
【说明】:
- pyecharts的v0.5和v1.0版本的语法有很大差别,代码不能通用。
- 我的代码都是在jupyter notebook上运行的,所以如果是在pycharm或者vscode运行代码时把bar.render_notebook()改成render(),代码注释也有说
第一个简单的柱状图
from pyecharts.charts import Bar
bar = Bar()
bar.add_xaxis(["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"])
bar.add_yaxis("商家A", [5, 20, 36, 10, 75, 90])
# render 会生成本地 HTML 文件,默认会在当前目录生成 render.html 文件
# 也可以传入路径参数,如 bar.render("mycharts.html")
# bar.render()
bar.render_notebook()
通过add_xaxis(),add_yaxis()来添加数据,参数为一个列表
绘制多种数据的表格
from pyecharts.charts import Bar
from pyecharts import options as opts
# V1 版本开始支持链式调用
# 你所看到的格式其实是 `black` 格式化以后的效果
# 可以执行 `pip install black` 下载使用
bar = (
Bar(init_opts=opts.InitOpts(bg_color='white'))
.add_xaxis(["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"])
.add_yaxis("商家A", [5, 20, 36, 10, 75, 90])
.set_global_opts(title_opts=opts.TitleOpts(title="主标题", subtitle="副标题"))
# 或者直接使用字典参数
# .set_global_opts(title_opts={"text": "主标题", "subtext": "副标题"})
)
bar.add_yaxis("商家B",[10, 24, 38, 13, 66, 12])
bar.render_notebook()
如果有多个y可以调用多个add_yaxis()来添加数据,还有一些堆叠或者设置点查看的方法,后文会教,在之后的大家可以自己实践一下。
添加图像工具
from pyecharts.charts import Bar
from pyecharts import options as opts
# 内置主题类型可查看 pyecharts.globals.ThemeType
from pyecharts.globals import ThemeType
bar = (
Bar(init_opts=opts.InitOpts(theme=ThemeType.LIGHT,bg_color='white'))
.add_xaxis(["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"])
.add_yaxis("商家A", [5, 20, 36, 10, 75, 90])
.add_yaxis("商家B", [15, 6, 45, 20, 35, 66])
.set_global_opts(title_opts={"text": "主标题", "subtext": "副标题"})
.set_global_opts(visualmap_opts=opts.VisualMapOpts(is_show=True),toolbox_opts=opts.ToolboxOpts(is_show=True),datazoom_opts=opts.DataZoomOpts(is_show=True))
)
bar.render_notebook()
我们可以通过右上角的按键来对表格进行操作,下载,或者转换为线性表,通过左下角的视觉映射来反应数据的大小,下方的datazoom来仔细看某一部分数据。这里说明一下如果不设置图片的的背景颜色的话init_opts=opts.InitOpts(bg_color=‘white’),下载后的图是黑色的,不好看。
中文帮助文档的使用
可能有很多人不会用这个帮助文档,在这分享一下心得体会。
中文帮助文档链接
在这个界面我们可以使用搜索我们想要的功能,以视觉映射为例
在右边我们可以看到,类的名字和属性,可以设置什么值的说明,然后我们只要在全局设置函数里设置我们需要的功能就可以了,还是以视觉映射为例
from pyecharts.charts import Bar
from pyecharts import options as opts
# 内置主题类型可查看 pyecharts.globals.ThemeType
from pyecharts.globals import ThemeType
bar = (
Bar(init_opts=opts.InitOpts(theme=ThemeType.LIGHT,bg_color='white'))
.add_xaxis(["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"])
.add_yaxis("商家A", [5, 20, 36, 10, 75, 90])
.add_yaxis("商家B", [15, 6, 45, 20, 35, 66])
.set_global_opts(title_opts={"text": "主标题", "subtext": "副标题"})
.set_global_opts(visualmap_opts=opts.VisualMapOpts(is_show=True))
)
bar.render_notebook()
运行结果
可以看到视觉映射就展示出来了,传入的参数格式visualmap_opts=opts.VisualMapOpts(is_show=True)等号之前的是类名的全部小写,在opts前使用_连接,等号后面是对应的类名,()里是对应的属性和设置的值。
再补充说明一下,set_global_opts(visualmap_opts=opts.VisualMapOpts(is_show=True))他只记住你最后传入的参数,我们从最后一张图片可以看到,主标题不见了,如果传多个设置项的时候要在函数传参时候都传进来,以逗号分隔先下面这样
.set_global_opts(visualmap_opts=opts.VisualMapOpts(is_show=True),toolbox_opts=opts.ToolboxOpts(is_show=True),datazoom_opts=opts.DataZoomOpts(is_show=True))
希望给大家点帮助,可以画出自己喜欢的图。