python 数据可视化之pyecharts库

2019-07-31  本文已影响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

上一篇下一篇

猜你喜欢

热点阅读