大家听说python比较有名的一个就是好上手,可以进行数据分析,这里主要讲如何使用python生成各种图表。
如果我们想把一份数据生成图表,那需要有一份数据源,在不同语言/平台中的数据传输比较常见的格式:json、ymal、csv等格式,其中json格式因为易于阅读和编写,支持多种变成语言,数据结构简单,可嵌套而被广泛应用。所以需要学习json相关格式的转换。
json数据传输的编辑和解译
import json
data = json.dump(data) //转成json数据
data = json.dump(data,ensure_ascii= False) //转成json数据,不使用asc码转义可以直接输出中文
data = json.load(data) //转成python数据
Echarts是百度开源的一个数据可视化工具,在官网可以看到多种多样的可以使用的图表。当然和python结合的叫pyechart,更多相关的调用方法也在pyechart官网中。
安装pyecharts
pip install pyecharts
在终端输入上面命令后,直接回车。
检测是否安装成功:
- 输入 import pyecharts,然后回车。如果没有报错就成功了。有报错根据报错内容百度。
pyechart画图
用python画图你可以想象自己在给视力障碍者讲述你在画的图是什么样子的。基本上就几个步骤:数据清洗==》导包(之前的文章讲过,和导模块差不多)==》画坐标系==》写入内容==》输出成图
全局配置(set_global_opts)
针对整个图像进行配置
bar.set_global_opts(title_opts=TitleOpts(title="主标题", subtitle="副标题", left="center", top="top"))
方便记忆:图标类型.set_global_opts(配置的模块 = 各种配置项)
配置之前需要先导入对应模块
系列配置(set_series_opts)
具体数据的展现方式
折线图
from pyecharts.charts import Line //导入库中的折线图模块
line = Line() //创建一个空的XY轴
line.add_xaxis(["青年","中年","老年"]) //输入横坐标内容
line.add_yaxis("可支配收入",[3300,4000,5000]) //输入纵坐标内容,和横坐标一一对应。可支配收入是图例
line.render() //开始渲染出图后在链接中打开
点击运行,可能会报错,如果内容没问题先不管,在这个html文件中的前几行找一个网址。
光标放在网址中间,右上角会有一个快速打开你电脑浏览器的图标。点击图标就能看到网页了。
地图
from pyecharts.charts import Map //导入地图模块
from pyecharts import options //导入配置项模块
map = Map() //导入一个空地图
data = [
("河南省",99),
("河北省",100),
("山西省",88),
("山东省",200)
] //地图的显示数据
map.add("山河四省地图",data,"china") //添加地图配置项:图表名,数据,地图类型
map.set_series_opts(label_opts=options.LabelOpts(is_show=False)) //去掉地图上的省份文字
map.render() //渲染
柱状图
基础的柱状图和折线图写法差不多就不重复写了,对应英文为Bar。
时间线柱状图
本质就是每个时间描一个点画一个柱状图,不同的点的组合成一个时间线从而来看一段时间的变化。制作方式就是timeline和bar的结合,最后进行播放。