数据小站
数据科学成长之路

python数据可视化-pyecharts插件使用文档

pyecharts是百度开源的可视化插件,可以将设计的可视化图表以html格式保存,配合jupyter可以一键生成动态的html数据分析报告。

pyecharts和matplotlib的区别在于,pyecharts有更加强大交互的可视化和嵌入html的功能,pyecharts缺点在于没有matplotlib灵活,但pyecharts提供的api接口足以满足数据分析使用。

matplotlib的强大在是通过像素点来控制图形,在某些意义上,只要知道点坐标,可以绘制任何想要的二维图形。

pyecharts安装

pip install pyecharts

默认安装速度慢的话,可以通过 -i 切换国内源, python pip安装库文件临时更换国内源

pyecharts使用

了解pyecharts可以通过4个步骤:
1. 了解pyecharts图表基本使用步骤
2. 了解pyecharts提供的一般图表组件
3. 了解pyecharts的通用设置
4. 组合图等使用
熟悉这四块内容,基本阅读官网就无障碍,使用时参考官网文档,了解下pyecharts的特性。

pyecharts图表基本使用步骤

  1. 导入图表api的对象接口api,pyecharts提供的图像接口都在 pyecharts.charts 包下, 通过 from pyecharts.charts import 图形名称 导入
  2. 准备数据, 生成图表对象,填充数据绘图, 绘图方式有两种,一种是面向对象方式,一种是链式法则,看个人习惯。
  3. 生成可视化文件,查看结果。

示例:通过词云组件的示例查看面向对象方式和链式法则的区别

from pyecharts.charts import WordCloud

data = [('天气', 23), ('美丽', 10), ('天空', 5) ,('飞鸟', 15) , ('如诗如画', 25) , ('心情', 5), ('哈哈', 17)]

#面向对象方式
cloudObj = WordCloud()
cloudObj.add('', data, shape='circle')
cloudObj.render('词云-面向对象方式.html')

#链式法则
cloudLs = (
    WordCloud()
    .add('', data, shape='circle')
)
cloudLs.render('词云-链式法则.html')

可视化效果图

词云

面向对象和链式法则的区别在于, 面向对象是先生成对象,在通过对象的方法,将数据和设置绑定在对象上。链式法则是在生成对象时,通过直接调用.方法,绑定参数。 效果一样。

.render()生成可视化文件

.render()方法可以生成可视化文件,默认在当前路径下生成一个render.html的文件,可以在方法内部传入路径和文件名称,来设置文件生成文件存储位置和名称。

也可以将生成的图表嵌入在notebook中,不同的 Notebook 环境有自己不同的渲染要求,Jupyter Notebook 直接调用 .render_notebook() 随时随地渲染图表。

pyecharts常用图表组件示例

在pyecharts.charts模块下,包含了基本的图表组件,提供了散点
条形、柱状等基本图像组件,和组合组件。
基本的图表组件在pyecharts.charts包下, 目前包含20多种图表类,散点、折线、饼图、柱状、箱型、日历、地图、仪表盘、组合图等。
pyecharts.options 图表设置,设置标题、字体、颜色等。
pyecharts.globals 提供了全局变量设置文件,如pyecharts.globals包含了ThemeType,设置主题样式。

散点图示例

from pyecharts.charts import Scatter ,Grid ,Line,Tab,Bar,Page
from pyecharts import options as opts
from pyecharts.globals import ThemeType

if __name__ == '__main__':
    xlist = ['a','b','c','d','e','f']
    data_1 = [2,4,5,6,8,10]
    data_2 = [1,2,7,8,9,6]
    data_3 = [5,4,9,4,2,6]

    #散点图
    scatter_demo = (
        Scatter()
            .add_xaxis(xlist)
            .add_yaxis('type_1', data_1, symbol_size=8, label_opts=opts.LabelOpts(is_show=False), color='red')
            .add_yaxis('type_2', data_2, symbol_size=8, label_opts=opts.LabelOpts(is_show=False), color='blue')
            .add_yaxis('type_3', data_3, symbol_size=8, label_opts=opts.LabelOpts(is_show=False))
            .set_global_opts(
            title_opts=opts.TitleOpts(title="散点图"),
            )
        )
    scatter_demo.render('散点图.html')

散点图

pyecharts提供的图表组件调用接口使用方式一致。处理好需要可视化的数据之后,在设计散点图时,通过.add_xaxis()方法为图表设置x横轴的坐标, 同样,用相应的.add_yaxis()方法,添加对应y纵轴的值。在设置y轴值时,可以同时设置点的类型,大小、颜色、是否显示数据标签等设置。可以绘制多条线,通过不断调用.add_yaxis()方法添加即可。 最后,通过.set_global_opts()方法,设置图表的全局设置,可以设置图表的标题,字体,位置等到。全局设置后续讲解。

折线图

散点、折线、柱状图等这些同类型的图像,调用方式使用一致。

line_demo = (
    Line()  #折线图
        .add_xaxis(xlist)
        .add_yaxis('type_1', data_1, symbol_size=8, label_opts=opts.LabelOpts(is_show=False), color='red')
        .add_yaxis('type_2', data_2, symbol_size=8, label_opts=opts.LabelOpts(is_show=False), color='blue')
        .add_yaxis('type_3', data_3, symbol_size=8, label_opts=opts.LabelOpts(is_show=False))
        .set_global_opts(
        title_opts=opts.TitleOpts(title="折线图"),
        )
    )
line_demo.render('折线.html')

在上面散点图的代码上,只需要将调用的Scatter() 改为 Line() 即可。

pyecharts官网提供了各样的图表组件使用,使用时可以参考。了解组件的调用方式,使用上基本一样。

赞(4) 打赏
未经允许不得转载:技术文档分享 » python数据可视化-pyecharts插件使用文档

评论 抢沙发