本文是为了帮助大家快速掌握十大顶级绘图方法,重点解释数据是如何呈现在不同类型图中。

使用pip install pyecharts 安装,安装后的版本为 v1.6

pyecharts几行代码就能绘制出有特色的的图形,绘图API链式调用,使用方便。

1 仪表盘

from pyecharts import charts# 仪表盘
gauge = charts.Gauge()
gauge.add('Python小例子', [('Python机器学习', 30), ('Python基础', 70.),('Python正则', 90)])
gauge.render(path="./data/仪表盘.html")
print('ok')

仪表盘中共展示三项,每项的比例为30%,70%,90%,如下图默认名称显示第一项:Python机器学习,完成比例为30%

2 漏斗图

from pyecharts import options as opts
from pyecharts.charts import Funnel, Page
from random import randintdef funnel_base() -> Funnel:c = (Funnel().add("豪车", [list(z) for z in zip(['宝马', '法拉利', '奔驰', '奥迪', '大众', '丰田', '特斯拉'],[randint(1, 20) for _ in range(7)])]).set_global_opts(title_opts=opts.TitleOpts(title="豪车漏斗图")))return cfunnel_base().render('./img/car_funnel.html')
print('ok')

以7种车型及某个属性值绘制的漏斗图,属性值大越靠近漏斗的大端。

3 日历图

import datetime
import randomfrom pyecharts import options as opts
from pyecharts.charts import Calendardef calendar_interval_1() -> Calendar:begin = datetime.date(2019, 1, 1)end = datetime.date(2019, 12, 27)data = [[str(begin + datetime.timedelta(days=i)), random.randint(1000, 25000)]for i in range(0, (end - begin).days + 1, 2)  # 隔天统计]calendar = (Calendar(init_opts=opts.InitOpts(width="1200px")).add("", data, calendar_opts=opts.CalendarOpts(range_="2019")).set_global_opts(title_opts=opts.TitleOpts(title="Calendar-2019年步数统计"),visualmap_opts=opts.VisualMapOpts(max_=25000,min_=1000,orient="horizontal",is_piecewise=True,pos_top="230px",pos_left="100px",),))return calendarcalendar_interval_1().render('./img/calendar.html')
print('ok')

绘制2019年1月1日到12月27日的步行数,官方给出的图形宽度900px不够,只能显示到9月份,本例使用opts.InitOpts(width="1200px")做出微调,并且visualmap显示所有步数,每隔一天显示一次:

4 图(graph)

import json
import osfrom pyecharts import options as opts
from pyecharts.charts import Graph, Pagedef graph_base() -> Graph:nodes = [{"name": "cus1", "symbolSize": 10},{"name": "cus2", "symbolSize": 30},{"name": "cus3", "symbolSize": 20}]links = []for i in nodes:if i.get('name') == 'cus1':continuefor j in nodes:if j.get('name') == 'cus1':continuelinks.append({"source": i.get("name"), "target": j.get("name")})c = (Graph().add("", nodes, links, repulsion=8000).set_global_opts(title_opts=opts.TitleOpts(title="customer-influence")))return c

构建图,其中客户点1与其他两个客户都没有关系(link),也就是不存在有效边:

5 水球图

from pyecharts import options as opts
from pyecharts.charts import Liquid, Page
from pyecharts.globals import SymbolTypedef liquid() -> Liquid:c = (Liquid().add("lq", [0.67, 0.30, 0.15]).set_global_opts(title_opts=opts.TitleOpts(title="Liquid")))return cliquid().render('./img/liquid.html')

水球图的取值[0.67, 0.30, 0.15]表示下图中的三个波浪线,一般代表三个百分比:

6 饼图

from pyecharts import options as opts
from pyecharts.charts import Pie
from random import randintdef pie_base() -> Pie:c = (Pie().add("", [list(z) for z in zip(['宝马', '法拉利', '奔驰', '奥迪', '大众', '丰田', '特斯拉'],[randint(1, 20) for _ in range(7)])]).set_global_opts(title_opts=opts.TitleOpts(title="Pie-基本示例")).set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}")))return cpie_base().render('./img/pie_pyecharts.html')

7 极坐标

import random
from pyecharts import options as opts
from pyecharts.charts import Page, Polardef polar_scatter0() -> Polar:data = [(alpha, random.randint(1, 100)) for alpha in range(101)] # r = random.randint(1, 100)print(data)c = (Polar().add("", data, type_="bar", label_opts=opts.LabelOpts(is_show=False)).set_global_opts(title_opts=opts.TitleOpts(title="Polar")))return cpolar_scatter0().render('./img/polar.html')

极坐标表示为(夹角,半径),如(6,94)表示"夹角"为6,半径94的点:

8 词云图

from pyecharts import options as opts
from pyecharts.charts import Page, WordCloud
from pyecharts.globals import SymbolTypewords = [("Python", 100),("C++", 80),("Java", 95),("R", 50),("JavaScript", 79),("C", 65)
]def wordcloud() -> WordCloud:c = (WordCloud()# word_size_range: 单词字体大小范围.add("", words, word_size_range=[20, 100], shape='cardioid').set_global_opts(title_opts=opts.TitleOpts(title="WordCloud")))return cwordcloud().render('./img/wordcloud.html')

("C",65)表示在本次统计中C语言出现65次

9 系列柱状图

from pyecharts import options as opts
from pyecharts.charts import Bar
from random import randintdef bar_series() -> Bar:c = (Bar().add_xaxis(['宝马', '法拉利', '奔驰', '奥迪', '大众', '丰田', '特斯拉']).add_yaxis("销量", [randint(1, 20) for _ in range(7)]).add_yaxis("产量", [randint(1, 20) for _ in range(7)]).set_global_opts(title_opts=opts.TitleOpts(title="Bar的主标题", subtitle="Bar的副标题")))return cbar_series().render('./img/bar_series.html')

10 热力图

import random
from pyecharts import options as opts
from pyecharts.charts import HeatMapdef heatmap_car() -> HeatMap:x = ['宝马', '法拉利', '奔驰', '奥迪', '大众', '丰田', '特斯拉']y = ['中国','日本','南非','澳大利亚','阿根廷','阿尔及利亚','法国','意大利','加拿大']value = [[i, j, random.randint(0, 100)]for i in range(len(x)) for j in range(len(y))]c = (HeatMap().add_xaxis(x).add_yaxis("销量", y, value).set_global_opts(title_opts=opts.TitleOpts(title="HeatMap"),visualmap_opts=opts.VisualMapOpts(),))return cheatmap_car().render('./img/heatmap_pyecharts.html')

备注:公众号菜单包含了整理了一本AI小抄非常适合在通勤路上用学习

往期精彩回顾那些年做的学术公益-你不是一个人在战斗适合初学者入门人工智能的路线及资料下载机器学习在线手册深度学习在线手册AI基础下载(第一部分)备注:加入本站微信群或者qq群,请回复“加群”加入知识星球(4500+用户,ID:92416895),请回复“知识星球”

喜欢文章,点个在看

十分钟掌握pyecharts十类顶级图,都很实用!相关推荐

  1. 《一分钟经理人》十分钟阅读完一本书-思维导图

    文章目录 3个诀窍 一分钟目标 一分钟称赞 前半分钟 停顿一会儿 后半分钟 一分钟更正 前半分钟 停顿一会儿 后半分钟 为什么有效 一分钟目标 一分钟称赞 一分钟更正 怎样才是存在问题 语录 选择雇佣 ...

  2. 拒绝低效丨只需十分钟,提升十倍3D点云连续帧标注效率

    3D点云连续帧标注是自动驾驶场景中应用较为广泛的一种数据处理类型,对三维空间感知能力以及多帧协同处理能力要求较高.​ 传统逐帧标注模式下,无论采用手动复制对象方式还是自动复制对象方式,标注效率均无质的 ...

  3. 学计算机了情话,二十句哄女朋友的情话 每句都很管用

    在认识你之后,我才发现自己可以这样情愿的付出.今天小编为大家整理了哄女朋友的情话,希望大家喜欢. 1.你就像一碗汤,让我的心永远不会凉. 2.纵然世间任我挑,我的选择仍是你. 3.情是心中的向往,是感 ...

  4. 逗号后面统一加空格_十分钟搞定字幕,教你做加字幕的“快手菜”

    平台上许多同学有疑问:做视频是否有加字幕的必要呢? 其实除了外语需要翻译.语速过快加字幕方便理解.普通话不标准等情况之外,还是建议有余力的同学可以加上字幕,提升用户的观看体验. 那么问题来了,存在以下 ...

  5. python新手教程 从零开始-Python零基础从零开始学习Python十分钟快速入门

    原标题:Python零基础从零开始学习Python十分钟快速入门 学习Python的,都知道Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言.Python是一种动态解释型的 ...

  6. 写给女孩:二十岁之后的每一年都很重要

    成人的世界很残酷,作为一个平凡的女孩,经历过挣扎,更加懂得,不负时间,才能不负自己. 二十岁之后的每一年,都很重要,重要到,你不知道哪一点努力,也许就可以成就你. 培养阅读的习惯 托马斯·科里研究过1 ...

  7. tushare获取数据用pyecharts画k线图

    tushare ID:505405 import pyecharts.options as opts from pyecharts.charts import Kline import tushare ...

  8. Python之pyecharts:利用pyecharts绘制地图十多个地区流动轨迹动态图

    Python之pyecharts:利用pyecharts绘制地图十多个地区流动轨迹动态图 目录 利用pyecharts绘制地图十多个地区流动轨迹动态图 Geo(GeoChartBase)函数 相关文章 ...

  9. 箱形图适用于哪种数据_盘点 | 十分钟进阶Excel数据可视化

    过·往 半年前,开了一个叫"知识点"的小专题,陆陆续续分享了一些数据可视化相关的东西.其中Excel相关16篇,Tableau相关3篇,Ai相关3篇,D3.js相关2篇. 刚开始的 ...

最新文章

  1. cytoscape插件下载_cytoscape插件BinGO安装以及GO富集分析和网络可视化
  2. CentOS 编译 openjdk
  3. c++ mysql 存储图片路径_3.用ADO实现图片在数据库中存储
  4. 【分享】 自闭症儿童网络画展 - JS效果
  5. 手把手教你如何安装多个node版本
  6. selinux会阻碍挂载嘛_为什么追求完美可能会阻碍您成为新手Web开发人员
  7. 单反相机的常用的几个参数之间的关系
  8. 7-7 整数的分类处理 (20 分)
  9. uci数据集汇总及翻译
  10. JavsScript 节流函数 分金定穴
  11. 电涡流传感器线性灵敏度
  12. 使用高德API接口查询两个地址之间的距离
  13. 我的编程竞赛之路 ——中国大学生计算机编程第一人楼天城访谈
  14. 通过BOP-2操作面板对G120变频器进行调试的具体方法步骤(图文)
  15. 未来的商业模式——新零售是什么?
  16. TI bim中使用AES-CBC加解密
  17. 锁眼卫星的介绍与数据下载
  18. 找用c语言写的单片机调用号码通过mt5087拨电话程序,智能报警电话系统设计.doc...
  19. 关于微课开发的一点新的记录
  20. 在服务端部署cobaltstrike连接超时的问题

热门文章

  1. JRE与JDK,SDK的区别
  2. cobbler一键部署centos7.4(脚本)
  3. Nginx和PHP-FPM的启动、重启、停止脚本分享
  4. SQL高效率语句(一)
  5. (转)虚函数和纯虚函数区别
  6. 关于MSSQL存储过程中使用游标的一个小例子(学习)
  7. python 动态类型_python学习--动态类型
  8. YOLO学习-3:ubuntu16.04+ yolov3(darknet)+GPU(nvidia 1080ti)+opencv2.4.11 摄像头测试实践
  9. 计算机视觉与深度学习 | 使用K均值聚类实现基于颜色的分割(matlab版)
  10. linux kvm usb设备,KVM usb passthrough配置