【python 数据可视化】pyecharts的使用

无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,
而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。人工智能教程

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

网址:
https://github.com/chenjiandongx/pyecharts/blob/master/docs/zh-cn/documentation.md#%E5%BC%80%E5%A7%8B%E4%BD%BF%E7%94%A8

http://pyecharts.org/#/zh-cn/charts?id=wordcloud%ef%bc%88%e8%af%8d%e4%ba%91%e5%9b%be%ef%bc%89

安装:

pip install pyecharts

通用配置项

xyAxis:直角坐标系中的 x、y 轴(Line、Bar、Scatter、EffectScatter、Kline)
dataZoom:dataZoom 组件 用于区域缩放,从而能自由关注细节的数据信息,或者概览数据整体,或者去除离群点的影响。(Line、Bar、Scatter、EffectScatter、Kline、Boxplot)
legend:图例组件。图例组件展现了不同系列的标记(symbol),颜色和名字。可以通过点击图例控制哪些系列不显示。
label:图形上的文本标签,可用于说明图形的一些数据信息,比如值,名称等。
lineStyle:带线图形的线的风格选项(Line、Polar、Radar、Graph、Parallel)
grid3D:3D笛卡尔坐标系组配置项,适用于 3D 图形。(Bar3D, Line3D, Scatter3D)
axis3D:3D 笛卡尔坐标系 X,Y,Z 轴配置项,适用于 3D 图形。(Bar3D, Line3D, Scatter3D)
visualMap:是视觉映射组件,用于进行『视觉编码』,也就是将数据映射到视觉元素(视觉通道)
markLine&markPoint:图形标记组件,用于标记指定的特殊数据,又标记线和标记点两种。(Bar、Line、Kline)
tooltip:提示框组件,用于移动或点击鼠标时弹出数据内容

图表详细

Bar(柱状图/条形图)
Bar3D(3D 柱状图)
Boxplot(箱形图)
EffectScatter(带有涟漪特效动画的散点图)
Funnel(漏斗图)
Gauge(仪表盘)
Geo(地理坐标系)
Graph(关系图)
HeatMap(热力图)
Kline(K线图)
Line(折线/面积图)
Line3D(3D 折线图)
Liquid(水球图)
Map(地图)
Parallel(平行坐标系)
Pie(饼图)
Polar(极坐标系)
Radar(雷达图)
Sankey(桑基图)
Scatter(散点图)
Scatter3D(3D 散点图)
ThemeRiver(主题河流图)
WordCloud(词云图)

用户自定义

Grid 类:并行显示多张图
Overlap 类:结合不同类型图表叠加画在同张图上
Page 类:同一网页按顺序展示多图
Timeline 类:提供时间线轮播多张图

集成Flask&Django

开始使用:

# encoding: utf-8
import time
import sys
reload(sys)
sys.setdefaultencoding('utf-8')


from pyecharts import Bar
bar = Bar("我的第一个图表", "这里是副标题")
bar.add("服装", ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"], [5, 20, 36, 10, 75, 90],is_more_utils=True)
bar.show_config()
bar.render()

这里写图片描述

Note: 可以按右边的下载按钮将图片下载到本地,如果想要提供更多实用工具按钮,请在 add() 中设置 is_more_utils 为 True

add()
主要方法,用于添加图表的数据和设置各种配置项
show_config()
打印输出图表的所有配置项
render()
默认将会在根目录下生成一个 render.html 的文件,支持 path 参数,设置文件保存位置,如 render(r"e:\my_first_chart.html"),文件用浏览器打开。

再来介绍个新功能,如果想在一个网页内按顺序展示多个图的话,推荐使用 Page() 类。

使用步骤

1 、引入 Page

2、使用 Page.add() 增加图

3、使用 Page.render() 渲染网页

显示 多个图

# encoding: utf-8
import time
import sys
reload(sys)
sys.setdefaultencoding('utf-8')

from pyecharts import Bar, Scatter3D
from pyecharts import Page


page = Page()         # step 1

# bar
attr = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
v1 = [5, 20, 36, 10, 75, 90]
v2 = [10, 25, 8, 60, 20, 80]
bar = Bar("柱状图数据堆叠示例")
bar.add("商家A", attr, v1, is_stack=True)
bar.add("商家B", attr, v2, is_stack=True)
page.add(bar)         # step 2



# 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)
page.add(scatter3D)  # step 2

page.render()        # step 3

这里写图片描述

©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页