美文网首页
python 数据可视化之pyecharts库

python 数据可视化之pyecharts库

作者: 永恒君的百宝箱 | 来源:发表于2019-07-31 22:37 被阅读0次

    记录python数据可视化pyecharts库基本使用及样板

    简介

    pyecharts 是一个用于生成 Echarts 图表的类库。

    echarts 是百度开源的一个数据可视化 JS 库,主要用于数据可视化。pyecharts 是一个用于生成 Echarts 图表的类库。实际上就是 Echarts 与 Python 的对接。

    使用 pyecharts 可以生成独立的网页,也可以在 flask , Django 中集成使用。

    官方网站:https://pyecharts.org/#/zh-cn/intro

    版本

    当前的最新V1版本,仅支持 Python3.6+,使用的时候要注意一下。

    支持的图表种类

    官方支持一下六个大类的图表,共计几十种的样式,官方都有详细的示例。

    官方实例

    from pyecharts.charts import Bar
    
    bar = Bar()
    bar.add_xaxis(["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"])
    bar.add_yaxis("商家A", [5, 20, 36, 10, 75, 90])
    
    bar.render()
    # render 会生成本地 HTML 文件,默认会在当前目录生成 render.html 文件
    # 也可以传入路径参数,如 bar.render("mycharts.html")
    
    #bar.render_notebook()#在Jupyter notebook使用这条语句可以即时渲染效果
    
    

    render 会生成本地 HTML 文件,默认会在当前目录生成 render.html 文件
    如果用的是Jupyter notebook,可以在最后用bar.render_notebook()语句,这样就可以直接将图表渲染在电脑屏幕上。

    官方实例

    样板 - 折线图

    展示基金每日收益,源数据如下图:


    基金每日收益

    样板代码如下

    #全局设置有很多参数需要参考官方的文档和例子
    #官方的图表例子:https://pyecharts.org/#/zh-cn/basic_charts
    #官方的全局配置:https://pyecharts.org/#/zh-cn/global_options
    
    from pyecharts.charts import Line
    from pyecharts import options as opts
    
    import numpy as np
    
    
    def loadCSVfile(): #定义加载CSV文件数据的函数
        tmp = np.loadtxt("/home/yhjbox/Desktop/pyecharts-code/B.csv", dtype=np.str, delimiter=",")
        data = tmp[1:50,1].astype(np.float)#加载前50行数据部分
        date = tmp[1:50,0]
    
        return data,date #返回array类型的数据
    
    a=loadCSVfile()[0].tolist()#收益
    b=loadCSVfile()[1].tolist()#日期
    
    line= (
            Line()        
            .add_xaxis(b)
            .add_yaxis("基金A",a,is_smooth=True,is_symbol_show=False)
            .set_global_opts(title_opts=opts.TitleOpts(title=" 基金A每日万分收益"),#生成图的全局设置,
                             yaxis_opts=opts.AxisOpts(name="我是Y轴",interval=0.1,is_scale=True)#设置y轴的参数,interval为刻度间隔,is_scale表示是否从0开始
                            )
        )
    #line.render()
    line.render_notebook()
    

    运行效果为:


    效果图.png

    样板 - Map-VisualMap(连续型)

    展示全国各省市的数量分布,源数据如下图:


    数量分布.png

    样板代码如下:

    from pyecharts import options as opts
    from pyecharts.charts import Map
    from pyecharts.globals import ChartType, SymbolType
    import numpy as np
    
    def loadCSVfile():
        tmp = np.loadtxt("/home/yhjbox/Desktop/pyecharts-code/fans.csv", dtype=np.str, delimiter=",",encoding='gbk')
        province = tmp[0:,0].astype(np.str)#加载数据部分
        num = tmp[0:,1].astype(np.int)
        #label = tmp[1:,0]#加载类别标签部分
        return province,num #返回array类型的数据
    
    a=loadCSVfile()[0].tolist()#省份
    b=loadCSVfile()[1].tolist()#粉丝数量
    
    map= (
            Map()
            .add("粉丝数量", [list(z) for z in zip(a, b)], "china")
            .set_global_opts(
                title_opts=opts.TitleOpts(title="Map-VisualMap(连续型)"),
                visualmap_opts=opts.VisualMapOpts(max_=200),
            )
        )
    
    
    map.render_notebook()
    

    运行效果如下,而且是可以动态的展示:

    Map-VisualMap效果

    文章只是演示少量的样式,还有更多的图表样式效果可直接参看官方的文档,非常的详尽。

    官方网站:https://pyecharts.org/#/zh-cn/intro

    相关文章

      网友评论

          本文标题:python 数据可视化之pyecharts库

          本文链接:https://www.haomeiwen.com/subject/qqixdctx.html