zoukankan      html  css  js  c++  java
  • pyEcharts安装及使用指南

    pyEcharts安装及使用指南

    ECharts是一个纯Javascript的图表库,可以流畅的运行在PC和移动设备上,兼容当前绝大部分浏览器,底层依赖轻量级的Canvas类库ZRender,提供直观、生动、可交互、可高度个性化定制的数据可视化图表。ECharts提供了常规的折线图、柱状图、散点图、饼图、K线图,用于统计的盒形图,用于地理数据可视化的地图、热力图、线图,用于关系数据可视化的关系图、treemap,多维数据可视化的平行坐标,还有用于BI的漏斗图、仪表盘,并且支持图与图之间的混搭。

    pyEcharts目前有0.5及以下版本和1.0以上版本,新版的pyecharts发生了许多变化。最为明显的是以前调整变量的命令现在都发生了改变。width是旧版本中对图表调整的参数,在新版本这一功能被调整到了option里面。网上大部分教程都是0.5及以下版本。

    pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyecharts==0.5.10

    自从 v0.3.2 开始,为了缩减项目本身的体积以及维持 pyecharts 项目的轻量化运行,pyecharts 将不再自带地图 js 文件。如用户需要用到地图图表,可自行安装对应的地图文件包。下面介绍如何安装。

    • 全球国家地图: echarts-countries-pypkg (1.9MB): 世界地图和 213 个国家,包括中国地图
    • 中国省级地图: echarts-china-provinces-pypkg (730KB):23 个省,5 个自治区
    • 中国市级地图: echarts-china-cities-pypkg (3.8MB):370 个中国城市
    • 中国县区级地图: echarts-china-counties-pypkg (4.1MB):2882 个中国县·区
    • 中国区域地图: echarts-china-misc-pypkg (148KB):11 个中国区域地图,比如华南、华北。

    选择自己需要的安装

    pip install -i https://pypi.tuna.tsinghua.edu.cn/simple echarts-countries-pypkg
    
     pip install -i https://pypi.tuna.tsinghua.edu.cn/simple echarts-china-provinces-pypkg
    
     pip install -i https://pypi.tuna.tsinghua.edu.cn/simple echarts-china-cities-pypkg
    
     pip install -i https://pypi.tuna.tsinghua.edu.cn/simple echarts-china-counties-pypkg
    
     pip install -i https://pypi.tuna.tsinghua.edu.cn/simple echarts-china-misc-pypkg
    
     pip install -i https://pypi.tuna.tsinghua.edu.cn/simple echarts-united-kingdom-pypkg#如果提示缺少这个就安装一下
    
    pip  install pyecharts_snapshot

    教育网用户在install 增加 –i https://pypi.tuna.tsinghua.edu.cn/simple

    注意:
    1.如果不知道安装那个,就全部安装,反正不会错,安装版本一定是要在0.5及以下。
    2.如果你安装的是1.0及以上版本,请自行阅读官方文档。https://pyecharts.org/#/zh-cn/intro
    3.安装完一定要重启pycharm!!!

    1.柱状图

    代码如下:

    # -*- coding:utf-8 -*-
    
    from pyecharts import Bar
    
    bar = Bar("贵州GDP柱状图", "副标题")
    
    bar.add("GDP",["贵阳市", "遵义市", "六盘水市", "安顺市", "黔东南州"],[40, 30, 26, 22, 15])
    
    bar.show_config()
    
    bar.render()

    代码运行之后,会在本地生成一个render.html文件,打开输出如下所示图形。

    from pyecharts import Bar
    
    #从pyecharts库中导入Bar子类
    
    bar = Bar("贵州GDP柱状图", "副标题")
    
    #定义Bar()柱状图,同时设置主标题和副标题
    
    bar.add()
    
    #调用add()函数添加图表的数据和设置各种配置项
    
    bar.show_config()
    
    #打印输出图表的所有配置项
    
    bar.render()
    
    #生成render.html文件,也可以设置路径和文件名

    2.横向柱状图

    代码如下:

    # -*- coding:utf-8 -*-
    
    from pyecharts import Bar
    
    bar = Bar("贵州GDP柱状图", "副标题")
    
    city = ["贵阳市", "遵义市", "六盘水市", "安顺市", "黔东南州"]
    
    data1 = [40, 30, 26, 22, 15]
    
    data2 = [13, 43, 32, 38, 20]
    
    bar.add("2017年GDP", city, data1)
    
    bar.add("2016年GDP", city, data2, is_convert=True)
    
    bar.show_config()
    
    bar.render()

    输出如下图所示:

     

    3.带有涟漪特效动画的散点图

    这段代码参考简书网 https://www.jianshu.com/p/b718c307a61c ,强烈推荐大家学习chenjiandongx大神的文章。完整代码如下:

    # -*- coding:utf-8 -*-
    
    from pyecharts import EffectScatter
    
    es = EffectScatter("动态散点图各种图形示例")
    
    es.add("", [10], [10], symbol_size=20, effect_scale=3.5, effect_period=3, symbol="pin")
    
    es.add("", [20], [20], symbol_size=12, effect_scale=4.5, effect_period=4, symbol="rect")
    
    es.add("", [30], [30], symbol_size=30, effect_scale=5.5, effect_period=5, symbol="roundRect")
    
    es.add("", [40], [40], symbol_size=10, effect_scale=6.5, effect_brushtype='fill', symbol="diamond")
    
    es.add("", [50], [50], symbol_size=16, effect_scale=5.5, effect_period=3, symbol="arrow")
    
    es.add("", [60], [60], symbol_size=6, effect_scale=2.5, effect_period=3, symbol="triangle")
    
    es.render() 

    运行结果如下图所示:

     

    4.绘制3D图形

    绘制3D折线图代码如下:

    # -*- coding:utf-8 -*-
    
    from pyecharts import Line3D
    
    import random
    
    data = [[1,2,3,4], [1,2,3,4], [0,4,8,16]]
    
    Line3D = Line3D("3D 折线图示例", width=1200, height=600)
    
    Line3D.add("", data, is_visualmap=True)
    
    Line3D.render()

    输出图形如下所示:

     

    绘制3D散点图,并设置随机散点坐标,代码如下所示:

    # -*- coding:utf-8 -*-
    
    from pyecharts import Scatter3D
    
    import random
    
    data = [[random.randint(0, 100), random.randint(0, 100), random.randint(0, 100)] for _ in range(80)]
    
    range_color = ['#313695', '#4575b4', '#74add1', '#abd9e9', '#e0f3f8', '#ffffbf',
    
                   '#fee090', '#fdae61', '#f46d43', '#d73027', '#a50026']
    
    scatter3D = Scatter3D("3D 散点图示例", width=1200, height=600)
    
    scatter3D.add("", data, is_visualmap=True, visual_range_color=range_color)
    
    scatter3D.render()   

        

    输出结果非常美观,如下图所示:

     

    5.仪表盘

    代码如下:
    
    # -*- coding:utf-8 -*-
    
    from pyecharts import Gauge
    
    g = Gauge("仪表盘图形","副图标")
    
    g.add("重大项目", "投资占比", 66.66)
    
    g.show_config()
    
    g.render("g.html")

    输出图形如下所示:

     

    6.水球图

    代码如下:

    # -*- coding:utf-8 -*-
    
    from pyecharts import Liquid
    
    liquid = Liquid("水球图")
    
    liquid.add("Liquid", [0.8])
    
    liquid.show_config()
    
    liquid.render()

    输出如下图所示:

     

    讲到这里基本的图形讲解完毕,更多知识推荐大家结合实际应用研究。

    利用echarts画地图(热力图)(世界地图,省市地图,区县地图)

    世界地图

    from pyecharts import Map
    
    value = [95.1, 23.2, 43.3, 66.4, 88.5]
    
    attr = ["China", "Canada", "Brazil", "Russia", "United States"]
    
    map0 = Map("世界地图示例", width=1200, height=600)
    
    map0.add("世界地图", attr, value, maptype="world",  is_visualmap=True, visual_text_color='#000')
    
    map0.render(path="世界地图.html")

     

    中国地图

    from pyecharts import Map
    
    province_distribution = {'河南': 45.23, '北京': 37.56, '河北': 21, '辽宁': 12, '江西': 6, '上海': 20, '安徽': 10, '江苏': 16, '湖南': 9,'浙江': 13, '海南': 2, '广东': 22, '湖北': 8, '黑龙江': 11, '澳门': 1, '陕西': 11, '四川': 7, '内蒙古': 3, '重庆': 3,'云南': 6, '贵州': 2, '吉林': 3, '山西': 12, '山东': 11, '福建': 4, '青海': 1, '天津': 1,'其他': 1}
    
    provice = list(province_distribution.keys())
    
    values = list(province_distribution.values())
    
    map = Map("中国地图", '中国地图', width=1200, height=600)
    
    map.add("", provice, values, visual_range=[0, 50], maptype='china', is_visualmap=True,visual_text_color='#000')
    
    map.render(path="中国地图.html")

     

    省市地图

    from pyecharts import Map
    
    map2 = Map("贵州地图", '贵州', width=1200, height=600)
    
    city = ['贵阳市', '六盘水市', '遵义市', '安顺市', '毕节市', '铜仁市', '黔西南布依族苗族自治州', '黔东南苗族侗族自治州', '黔南布依族苗族自治州']
    
    values2 = [1.07, 3.85, 6.38, 8.21, 2.53, 4.37, 9.38, 4.29, 6.1]
    
    map2.add('贵州', city, values2, visual_range=[1, 10], maptype='贵州', is_visualmap=True, visual_text_color='#000')
    
    map2.render(path="贵州地图.html")

     

    区县地图

    from pyecharts import Map
    
    quxian = ['观山湖区', '云岩区', '南明区', '花溪区', '乌当区', '白云区', '修文县', '息烽县', '开阳县', '清镇市']
    
    values3 = [3, 5, 7, 8, 2, 4, 7, 8, 2, 4]
    
    map3 = Map("贵阳地图", "贵阳", width=1200, height=600)
    
    map3.add("贵阳", quxian, values3, visual_range=[1, 10], maptype='贵阳', is_visualmap=True)
    
    map3.render(path="贵阳地图.html")

     

    热力图

    from pyecharts import Geo
    
    keys = ['上海', '北京', '合肥', '哈尔滨', '广州', '成都', '无锡', '杭州', '武汉', '深圳', '西安', '郑州', '重庆', '长沙', '贵阳', '乌鲁木齐']
    
    values = [4.07, 1.85, 4.38, 2.21, 3.53, 4.37, 1.38, 4.29, 4.1, 1.31, 3.92, 4.47, 2.40, 3.60, 1.2, 3.7]
    
    geo = Geo("全国主要城市空气质量热力图", "data from pm2.5", title_color="#fff",title_pos="left",width=1200,height=600,background_color='#404a59')
    
    geo.add("空气质量热力图", keys, values, visual_range=[0, 5], type='effectScatter',visual_text_color="#fff", symbol_size=15,is_visualmap=True, is_roam=True)  
    
    # type有scatter, effectScatter, heatmap三种模式可选,可根据自己的需求选择对应的图表模式
    
    geo.render(path="全国主要城市空气质量热力图.html")

     

  • 相关阅读:
    JavaSE-28 hashCode()方法、equals()方法和==相关概念
    设计模式:命令模式(Command Pattern)
    Spring-02 Java配置实现IOC
    Spring-01 注解实现IOC
    [功能帮助类] 最新的Functions 类 (转载)
    C# DbHelperSQL,操作不同的数据库帮助类 (转载)
    C# DbHelperSQLP,操作不同的数据库帮助类 (转载)
    C# DbHelperSQLite,SQLite数据库帮助类 (转载)
    C#DbHelperOra,Oracle数据库帮助类 (转载)
    C#DbHelperOleDb,Access数据库帮助类 (转载)
  • 原文地址:https://www.cnblogs.com/dgwblog/p/11811562.html
Copyright © 2011-2022 走看看