python可视化——pyechart库
前言
在对数据的掌握及分析变得愈加重要的当今时代,数据可视化作为提高用户对数据的理解程度,创新架构,增进体验的重要一环,一向富有表现力的Python语言应当可以发挥更大作用,优秀的pyechart第三方库即在这样的背景下诞生。
1pyecharts库简介
为了更好理解pyechart的功能,我先为大家对Echarts进行介绍:
Echarts是一个由百度开源的商业级数据图表,它是一个纯JavaScript的图表库,可以为用户提供直观生动,可交互,可高度个性化定制的数据可视化图表,赋予了用户对数据进行挖掘整合的能力。
我们即可定义:pyecharts库是一个用于生成 Echarts 图表的类库。
2pyecharts库用法
Part 1安装方法
pip 安装
# 安装 v1 以上版本
$ pip install pyecharts -U
# 如果需要安装 0.5.11 版本的开发者,可以使用
# pip install pyecharts==0.5.11
源码安装
# 安装 v1 以上版本
$ git clone https://github.com/pyecharts/pyecharts.git
# 如果需要安装 0.5.11 版本,请使用 git clone https://github.com/pyecharts/pyecharts.git -b v05x
$ cd pyecharts
$ pip install -r requirements.txt
$ python setup.py install
Part 2图表举例
柱形图绘制
皮皮侠走访(暗访)了一下大家的日常开销,绘制了占小伙伴们支出大头的几项花费的平均数额的柱形图,并使用dict进行配置,代码如下:
from pyecharts import options as opts
from pyecharts.charts import Bar, Page
from pyecharts.globals import ThemeType
def bar_base_dict_config() -> Bar:
c = (
Bar({"theme": ThemeType.MACARONS})
.add_xaxis(["吃喝", "杂物", "交通", "书费", "游玩", "花呗", "网购"])
.add_yaxis("旁友A", [600, 20,30, 50, 100, 125, 200])
.add_yaxis("旁友B", [650,25,25, 80, 150, 145, 100])
.set_global_opts(
title_opts={"text": "同学们的生活开支", "subtext": "通过 dict 进行配置"}
return c
bar_base_dict_config().render()
折线图绘制
皮皮虾仁侠调查了OTA平台上由成都飞往天涯海角北京城和大昆明最近六天的航班价格走势(最低价格),绘制成折线图如下:
import pyecharts.options as opts
from pyecharts.charts import Line
def line_base() -> Line:
attr = ["10.13", "10.14", "10.15", "10.16" , "10.17" , "\
10.18"]
v1 = [1650, 1700, 1461, 1350, 1100, 1500]
v2 = [1020, 575, 400, 350, 330, 480]
c = (
Line()
.add_xaxis(attr)
.add_yaxis("成都fly北京", v1)
.add_yaxis("成都fly昆明", v2)
.set_global_opts(title_opts=opts.TitleOpts(title="航班价格折线图"))
return c
m=line_base()
m.render()
温馨(扎心)提示:然鹅你只能老老实实待在位于成都市一环路南一段24号 or 成都市人民南路三段17号 or 成都市双流区川大路的四川大学。
饼图绘制
下面让我们看看当代川大大学生的时间都去哪了呢?饼图之“这一天天的”时间分配图代码和图表如下:
from pyecharts import options as opts
from pyecharts.charts import Pie
from pyecharts.faker import Collector, Faker
def pie_set_colors() -> Pie:
c = (
Pie()
.add("", [list(z) for z in zip(['上课','睡眠','餐饮','娱乐','聊天学习','健身'], [4,8,3,3,2,1])])
.set_colors(["blue", "green", "yellow", "red", "pink","orange"])
.set_global_opts(title_opts=opts.TitleOpts(title="这一天天的"))