数据可视化之pyecharts

 

ECharts

  ECharts是什么?下面是来自官方的介绍:

ECharts,缩写来自Enterprise Charts,商业级数据图表,一个纯Javascript的图表库,可以流畅的运行在PC和移动设备上,兼容当前绝大部分浏览器(IE6/7/8/9/10/11,chrome,firefox,Safari等),

底层依赖轻量级的Canvas类库ZRender,提供直观,生动,可交互,可高度个性化定制的数据可视化图表。创新的拖拽重计算、数据视图、值域漫游等特性大大增强了用户体验,

赋予了用户对数据进行挖掘、整合的能力。 支持折线图(区域图)、柱状图(条状图)、散点图(气泡图)、K线图、饼图(环形图)、雷达图(填充雷达图)、和弦图、

力导向布局图、地图、仪表盘、漏斗图、事件河流图等12类图表,同时提供标题,详情气泡、图例、值域、数据区域、时间轴、工具箱等7个可交互组件,支持多图表、组件的联动和混搭展现。

##### 2. 如何使用ECharts: 我们看下官网:http://echarts.baidu.com/examples/ 大概了解下如何使用。

 

pyecharts

一、pyecharts是什么?

pyecharts 是一个用于生成 Echarts 图表的类库。Echarts 是百度开源的一个数据可视化 JS 库。用 Echarts 生成的图可视化效果非常棒,pyecharts 是为了与 Python 进行对接,方便在 Python 中直接使用数据生成图。

二、为什么要有pyecharts?

使用echarts还是需要一定的前端知识,我们python的特点主要是什么?为什么这么多人都喜欢用python?Pythonic!!!Pythonic就是以Python的方式写出简洁优美的代码!短短几行代码就能搞定一个很复杂的图例!

三、如何使用pyecharts?

官方地址:https://pyecharts.org/#/zh-cn/

 

安装:

  pip install pyecharts

  pip install pyecharts-snapshot

  

简单使用:

from pyecharts import Pie

attr = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
v1 = [11, 12, 13, 10, 10, 10]
pie = Pie("饼图示例")
pie.add("", attr, v1, is_label_show=True)
pie.render() # 如果不指定path,则默认在当前路径下生成一个render.html

 

运行render.html

数据可视化之pyecharts

 

 雷达图示例:

from pyecharts import Radar

# schema列表中的数字代表各维度的最大值,v1和v2中的值最大不能超过该限制,可以刚刚达到
schema = [
    ("销售", 6500), ("管理", 16000), ("信息技术", 30000),
    ("客服", 38000), ("研发", 52000), ("市场", 25000)
]
v1 = [[6500, 10000, 28000, 35000, 50000, 19000]]
v2 = [[5000, 16000, 28000, 31000, 42000, 21000]]
radar = Radar()
radar.config(schema)
radar.add("预算分配", v1, is_splitline=True, is_axisline_show=True)
radar.add("实际开销", v2, label_color=["#4e79a7"], is_area_show=False,
          legend_selectedmode='single')
radar.render() #如果不指定path,则默认在当前路径下生成一个render.html

 

 数据可视化之pyecharts

 

 地理坐标系线图示例:

from pyecharts import GeoLines, Style
style = Style(
    title_top="#fff",
    title_pos = "center",
    width=1200,
    height=600,
    background_color="#404a59"
)
style_geo = style.add(
    is_label_show=True,
    line_curve=0.2,
    line_opacity=0.6,
    legend_text_color="#eee",
    legend_pos="right",
    geo_effect_symbol="plane",
    geo_effect_symbolsize=15,
    label_color=['#a6c84c', '#ffa022', '#46bee9'],
    label_pos="right",
    label_formatter="{b}",
    label_text_color="#eee",
)

data_guangzhou = [
    ["广州", "上海"],
    ["广州", "北京"],
    ["广州", "南京"],
    ["广州", "重庆"],
    ["广州", "兰州"],
    ["兰州", "广州"],
    ["广州", "杭州"]
]
geolines = GeoLines("GeoLines 示例", **style.init_style)
geolines.add("从广州出发", data_guangzhou, **style_geo)
geolines.render(path='hb.html') #如果不指定path,则默认在当前路径下生成一个render.html

 

 

 数据可视化之pyecharts

 

 

 

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

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

特别注明,中国地图在 echarts-countries-pypkg 里。需要这些地图的朋友,可以装 pip 命令行:

pip3 install echarts-countries-pypkg
pip3 install echarts-china-provinces-pypkg
pip3 install echarts-china-cities-pypkg
pip3 install echarts-china-counties-pypkg
pip3 install echarts-china-misc-pypkg

 

 

 

 地图示例:

from pyecharts import Map

value = [155, 10, 66, 78, 33, 80, 190, 53, 49.6]
attr = [
    "陕西", "山东", "北京", "上海", "甘肃", "*", "河南", "广西", "*"
    ]
map = Map("Map 结合 VisualMap 示例", width=1200, height=600)
map.add(
    "统计各省人口数",
    attr,
    value,
    maptype='china',
    is_visualmap=True, #结合体VisualMap
    visual_text_color='#000'
)
map.render()

 

 

 数据可视化之pyecharts

 

 

 

 四、图表类型

 1,Bar(柱状图/条形图)

 示例1:

from pyecharts import Bar
attr =["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
v1 =[20, 40, 60, 80, 100, 120]
v2 =[10, 20, 30, 40, 120, 80]
bar =Bar("标记线和标记点示例")
bar.add("商家A", attr, v1, mark_point=["average"])
bar.add("商家B", attr, v2, mark_line=["min", "max"])
bar.render()

 

 效果:

数据可视化之pyecharts

 

 示例2:

from pyecharts import Bar
attr =["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
v1 =[20, 40, 60, 80, 100, 120]
v2 =[10, 20, 30, 40, 120, 80]
bar =Bar("x 轴和 y 轴交换")
bar.add("商家A", attr, v1)
bar.add("商家B", attr, v2, is_convert=True)
bar.render('test2.html')

 

 

效果:

数据可视化之pyecharts

2,EffectScatter(带有涟漪特效动画的散点图)

 

上一篇:django使用pyecharts(3)----django加入echarts_定时全量更新


下一篇:sql server auto increment - trace flag 272