pyecharts1.0+绘图

  • 环境内容
  • 第一个简单的柱状图
  • 绘制多种数据的表格
  • 添加图像工具
  • 中文帮助文档的使用


环境内容

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()来添加数据,参数为一个列表

MPAndroidChart中文文档 pyecharts中文文档_MPAndroidChart中文文档

绘制多种数据的表格

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()来添加数据,还有一些堆叠或者设置点查看的方法,后文会教,在之后的大家可以自己实践一下。

MPAndroidChart中文文档 pyecharts中文文档_python_02

添加图像工具

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()

MPAndroidChart中文文档 pyecharts中文文档_帮助文档_03


我们可以通过右上角的按键来对表格进行操作,下载,或者转换为线性表,通过左下角的视觉映射来反应数据的大小,下方的datazoom来仔细看某一部分数据。这里说明一下如果不设置图片的的背景颜色的话init_opts=opts.InitOpts(bg_color=‘white’),下载后的图是黑色的,不好看。

中文帮助文档的使用

可能有很多人不会用这个帮助文档,在这分享一下心得体会。

中文帮助文档链接

MPAndroidChart中文文档 pyecharts中文文档_MPAndroidChart中文文档_04


在这个界面我们可以使用搜索我们想要的功能,以视觉映射为例

MPAndroidChart中文文档 pyecharts中文文档_MPAndroidChart中文文档_05


在右边我们可以看到,类的名字和属性,可以设置什么值的说明,然后我们只要在全局设置函数里设置我们需要的功能就可以了,还是以视觉映射为例

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()

运行结果

MPAndroidChart中文文档 pyecharts中文文档_帮助文档_06


可以看到视觉映射就展示出来了,传入的参数格式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))