一:初识PyG2Plo

Github上是这样介绍PyG2Plot的:

Python3 binding for @AntV/G2Plot which an interactive and responsive charting library. Based on the grammar of graphics, you can easily make superior statistical charts through a few lines of code. PyG2Plot is inspired by pyecharts.

Python 3封装 ANTV/G2TRAGE,ANTV/G2TRAGE是一个交互式和响应的制图库。G2Plot 是一套简单、易用、并具备一定扩展能力和组合能力的统计图表库。您可以通过几行代码轻松地制作出优秀的统计图表,PyG2Plot的灵感来自pyecharts。

如果你接触过pyechats,实用PyG2Plot你会觉得很熟悉,包括编码的函数,编码的结构等,包括出来的图形在风格上也很像。可能是PyG2plot刚出来不久的缘故,网上现成的用例资料还是比较少,我也是通过官网出来的接口一个个参数的摸索。下面给出官网API的链接:https://g2plot.antv.vision/zh/docs/api/plot-api

PyG2Plot的Demo用例还是非常丰富的,如果你的目标图标功能不复杂,完全可以照搬过来改改就可以了。

二:功能探索

1,安装
开始code之前,得装好PyG2Plot库,如果能方便的访问外网,配置好pip源,直接pip安装即可

pip install pyg2plot

如果不方便访问外网,可以找个能访问外网的机器从github上下载源码,离线安装
GitHub地址:https://github.com/hustcc/PyG2Plot#pyg2plot
2,主要函数
从源码上看,目前提供的接口函数非常有限(源码查看pyg2plot文件夹下的plot.py文件)

Plot(plot_type: str): 获取 Plot 对应的类实例。
plot.set_options(options: object): 给图表实例设置一个 G2Plot 图形的配置。
plot.render(path, env, **kwargs): 渲染出一个 HTML 文件,同时可以传入文件的路径,以及 jinja2 env 和 kwargs 参数。
plot.render_notebook(env, **kwargs): 将图形渲染到 jupyter 的预览。

实际上在用的过程中,并不需要那么丰富的函数,可以通过set_options传入丰富的配置来达到自己的图标开发目标
3,CODING

from pyg2plot import Plot
import csv

导入pyg2plot库里的Plot函数

line = Plot("Line")

调用Plot函数,传入参数"Line",我们接下来要尝试画一福曲线图

line.set_options(
{'padding': 60,'autoFit': True,#'smooth': True,'data': testData,'xField': 'Time','yField': 'TotalVolume','seriesField': 'Thread','color': ['#ffd500', '#82cab2', '#193442', '#d18768','#7e827a'],'pointStyle':{'fillOpacity': 0.8,'stroke': '#bbb'},'xAxis':{'line':{'style':{'stroke': '#aaa'}},'title':{'text': 'TIME','style': {'fontSize': 16,}}},'yAxis':{'line':{'style':{'stroke': '#aaa'}},'title':{'text': 'VOLUME','style': {'fontSize': 16,}}},'animation':{'appear':{'animation':'path-in','duration':5000},},'slider':{'start':0,'end':5000,'height':20,'backgroundStyle':{"fill":"blue"},},
})

下面对用到的参数进行详细的解释

1,padding:画布的 padding 值,代表图表在上右下左的间距,可以为单个数字 16,或者数组 [16, 8, 16, 8] 代表四个方向,或者开启 auto,由底层自动计算间距。另外还有个参数appendPadding:额外增加的 appendPadding 值,在 padding 的基础上,设置额外的 padding 数值,可以是单个数字 16,或者数组 [16, 8, 16, 8] 代表四个方向。
2,autoFit:图表是否自适应容器宽高。当 autoFit 设置为 true 时,width 和 height 的设置将失效。
3,smooth:曲线是否平滑。该参数如果设置为True,画出来的就是曲线,默认是折线样式
4,data:设置图表数据源。数据源为对象集合,
例如:const data = [
{ time: ‘1991’,value: 20 },
{ time: ‘1992’,value: 20 },
];
5,xField:图形在 x 方向对应的数据字段名,一般是横向的坐标轴对应的字段。比如:要看不同班级的人数情况,那么班级字段就是对应的 xField。
6,yField:图形在 y 方向对应的数据字段名,一般是纵向的坐标轴对应的字段。比如:要看不同班级的人数情况,那么人数字段就是对应的 yField。
7,seriesField:分组字段。用于同时看一个维度中不同情况的指标需求。比如:我们看不同大区最近 30 天的销售额趋势情况,那么这里的大区字段就是 seriesField。如本例中要展示每个线程上的数据,该配置项就是Thread
8,指定点的颜色。如没有配置 colorField,指定一个单值即可。对 colorFiled 进行了配置的情况下,即可以指定一系列色值,也可以通过回调函数的方法根据对应数值进行设置
// 设置单一颜色
{
color: ‘#a8ddb5’
}
// 设置多色
{
colorField: ‘type’, // 部分图表使用 seriesField
color: [’#d62728’, ‘#2ca02c’, ‘#000000’],
}
9,pointStyle:是指折线样式
10,xAxis和yAxis:配置x轴和y轴的一些属性如名字,大小等,具体可参考官网的API
11,animation:设置动画效果,如果不设置运行展示出来的就是静态的曲线
12,slider:设置缩略轴,对于数据量大的曲线,缩略轴一般都是必须要的

由于每个图标的需求不一样,则传入的数据也不一样,但是数据的格式还是要符合P2G2Plot的要求
testData的数据结构就如下面的结构(数据是随手写的)

[{'Time': '02:37:07', 'Thread': '0', 'UpVolume': 1111, 'DnVolume': 1111, 'TotalVolume': 2222}, {'Time': '02:37:07', 'Thread': '1', 'UpVolume': 2222, 'DnVolume': 3333, 'TotalVolume': 5555}, {'Time': '02:37:07', 'Thread': '2', 'UpVolume': 3333, 'DnVolume': 5555, 'TotalVolume': 8888}]
# 1. 渲染成 html 文件
line.render("plot.html")

在程序的本目录下会生成plot.html文件

三:曲线图展示

初探可视化新秀PyG2Plot相关推荐

  1. pyg2plot_画图

    Python可视化新秀 这个Python可视化新秀,在GitHub上是这样介绍的:

  2. Python数据分析入门(一)——初探数据可视化

    前言 静下心算算,当程序员已经有好几年了,不过自大学时代开始,学习对我来说就是个被动接受的过程,学校的课程.当时热门的移动端开发.数据库的学习.web学习.PHP后端学习--需要做什么我便去学什么,到 ...

  3. Python数据分析初探项目 基于Python数据可视化的网易云音乐歌单分析系统 大学编程作业(TUST 天津科技大学 2022年)

    Python 数据分析初探项目 基于 Python 数据可视化的网易云音乐歌单分析系统 大学编程作业(TUST 天津科技大学 2022 年) Python 数据分析初探项目 基于 Python 数据可 ...

  4. sklearn初探(三):决策树及其可视化

    sklearn初探(三):决策树及其可视化 前言 这是一个完整的工程,涵盖了从数据获得与处理,最后到构建决策树模型的全部过程.完整的源代码我会在文章最后给出. 概述 DecisionTreeClass ...

  5. r语言siggenes包_初探R语言可视化交互式包plotly——旭日图(Sunburst Chart)

    ploylt原来是一款用来做数据分析和可视化的在线平台,后来有人开发了一些语言(Python.R.Matlab等)的API,在R里就是plotly包了.plotly已经发布在CRAN上了,要想安装,仅 ...

  6. d3中文案例_D3js初探及数据可视化案例设计实战

    摘要:本文以本人目前所做项目为基础,从设计的角度探讨数据可视化的设计的方法.过程和结果,起抛砖引玉之效.在技术方案上,我们采用通用web架构和d3js作为主要技术手段:考虑到项目需求,这里所做的可视化 ...

  7. 车间调度的编码,解码,调度方案可视化等一系列问题的初探

    摘要 本文以柔性车间为例,柔性车间一般有以下假设:同一工件的任意一道工序在同一个 时刻只能由一台机器加工:任意一台机器在同一时刻只能加工一道工序:工序在 加工过程中不允许发生中断:所有工件具有相同优先 ...

  8. html渲染引擎开发,数据可视化初探-从零开始开发一个渲染引擎概述

    项目地址在这里,欢迎fork和star 简介:在之前而有的生过脑单近需一相涯前网选近需一相涯的项目中用过一些图表,比如Echart.chart.js等.遂对其比较感兴趣,恰好最近在看canvas相关的 ...

  9. Web三维可视化监控系统搭建(1)——Web三维/ VR交互技术初探

    文章目录 1. 文章背景 2.文章脉络 3.三维展示技术介绍 3.1 基于3D模型的展示 3.2 基于VR/全景图的展示 4.三维可视化展示的实现方案 4.三维可视化展示的基本知识 4.1 坐标系 4 ...

  10. 初探mapbox地图可视化实例,带你看看家附近有多少咖啡馆

    本实例使用的是Mapbox GL JS,开发文档地址:请点击 Mapbox GL JS 是一个用于 Web 上矢量地图的 JavaScript 库.它的性能.实时样式和交互功能为在网络上构建快速.沉浸 ...

最新文章

  1. 自己编写linux系统,自己动手 编写Linux系统的设备驱动程序
  2. 干货丨有关机器学习每个人都应该了解的东西
  3. 同步vmware虚拟机与宿主机的时间
  4. 计算矢量面积_航天器轨道参数计算推导
  5. SPOJ687 Repeats(重复次数最多的连续子串)
  6. Javascript学习之函数(function)
  7. asp.net ajax回调函数
  8. Part7 继承与派生 7.4派生类的构造和析构
  9. php use 使用变量,php闭包中使用use声明变量的作用域实例分析
  10. 微信用户量破6.5亿 首超移动QQ
  11. 我为啥要当程序员未来规划漫谈
  12. 用python直接调用asr技术_python中asr
  13. javaScript笔记整理(一)
  14. 数据结构算法题整理5
  15. 窗口间的通信(消息互发与数据传递)
  16. php收费视频网站实现,超好影视网站PHP源码,一键采集视频资源,对接第三方免签码支付,能设置每个视频能否收费...
  17. 电脑模拟收银机_机场收银模拟器下载
  18. 第四章 基于QT和DCMTK的Dicom 图像浏览器---检查文件夹下Dicom序列个数
  19. 江苏高考新方案定了!总分750分,科目“3+1+2”
  20. python办公笔记分享

热门文章

  1. 2022年系统架构设计师考试大纲
  2. chrome报Slow network is detected.
  3. Manjaro-architect 安装指南
  4. Android百度地图显示+抽屉式侧边栏
  5. 2021年中国人机界面软件市场趋势报告、技术动态创新及2027年市场预测
  6. Session的钝化和活化(序列化和反序列化)
  7. MySQL中update语句的深入分析
  8. RFID防盗安全门,自助借还书机,让图书馆发展进入新的里程碑
  9. 中国计算机学会推荐国际学术会议和期刊(A类)2019年
  10. MATLAB串口操作