千相千面图形语法

本文通过 Flutter 可视化库 Graphic,展示了如何利用图形语法将柱状图转换为饼图,解释了图形语法的声明式定义、数据变量、几何元素、坐标系、度量和具象属性等概念。通过对柱状图的演变,揭示了图形语法的灵活性和在数据可视化中的重要作用。
摘要由CSDN通过智能技术生成

在 Flutter 可视化库 Graphic 的新版本中,优化了声明式定义的语法,使其更好的体现图形语法的本质。

 

本文通过 Graphic 的图形语法定义变换,一步步将柱状图演变为饼图,展示图形语法的灵活丰富。同时也让初学者了解图形语法基本概念。

如果你从未接触过图形语法,不影响本文的阅读。本文可以看作 Graphic 的入门教程。

柱状图和饼图都是数据可视化中常见的类型,它们乍一看迥异,但在图形语法中,却有着相同的本质,这是为什么?让我们从柱状图一步步变换成饼图,来了解其中的缘由。

首先从最常见的柱状图开始说起。数据采用和 ECharts 的 入门示例 一样:

const data = [
  {'category': 'Shirts', 'sales': 5},
  {'category': 'Cardigans', 'sales': 20},
  {'category': 'Chiffons', 'sales': 36},
  {'category': 'Pants', 'sales': 10},
  {'category': 'Heels', 'sales': 10},
  {'category': 'Socks', 'sales': 20},
];

声明式定义

Graphic 采用声明式定义,所有的可视化语法都在图表组件 Chart 的构造函数中体现:

Chart(
  data: data,
  variables: {
    'category': Variable(
      accessor: (Map map) => map['category'] as String,
    ),
    'sales': Variable(
      accessor: (Map map) => map['sales'] as num,
    ),
  },
  elements: [IntervalElement()],
  axes: [
    Defaults.horizontalAxis,
    Defaults.verticalAxis,
  ],
)

数据与变量

图表的数据通过 data 字段引入,可以是任意类型的数组。在图表的内部,这些数据项将被转换成标准的 Tuple 类型。数据项如何转换为 Tuple 中的字段值则由变量( Variable)定义。

从代码可以看出,定义的语法是很简短的,但 variables 却占据了一半篇幅。Dart 是一种类型严格的语言,为了能允许任意类型输入数据,详细的 Variable 定义是必不可少的。

几何元素

图形语法最重要的特点是区分了抽象的数据图(Graph)和具体的图形(Graphic)。

比如,数据描述的是一段区间(Interval)还是一个单独的点(Point),这称之为 Graph;而在图上是表现为长条还是三角,多高多宽,这称之为 Graphic。生成 Graph 和 Graphic 的环节分别被称之为几何(Geometry)和具象(Aesthetic)。

Graph 和 Graphic 的概念,触达了数据与图形之间的本质关系,是图形语法跳出了传统图表分类束缚的关键。

而承载这两者定义称为几何元素(

最低0.47元/天 解锁文章
entronad
关注 关注
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【系统架构设计师-2022年真题】案例分析-答案及详解
数据知道的博客
09-10 2657
同学需要从可修改性、灵活性和系统性能三个方面进行综合考虑。从可修改性来看,解释器风格折扣规则是独立的语法规则,由解释器可对变化的规则进行解析,修改更容易。而面向对象相对固定,有变化需要修改具体的类。从灵活性来看,解释器可以根据用户灵活解释执行规则,优于面向对象。从系统性能来看,面向对象优于解释器。综合三个方面来看,解释器的优势更大,所以该系统更适合采用解释器风格。【参考答案】应该选择解释器架构风格。折扣规则的可修改性:解释器风格比面向对象方式实现强。
2021最新版 ElasticSearch 7.6.1 教程详解 爬虫jsoup+es模拟京东搜索(狂神说)
super_song的博客
05-03 2156
文章目录一、ElasticSearch 简介1.了解创始人 Doug Cutting2.Lucene 简介3.ElasticSearch 简介4.ElasticSearch 和 Solr 的区别5.了解ELK二、软件安装1.ElasticSearch2.ElasticSearch Head3.Kibana三、ElasticSearch 使用详解1.ES 核心概念文档索引倒排索引ik分词器2.命令模式的使用Rest风格说明cat命令关于文档的基本操作(重点)复杂操作查询四、SpringBoot 集成 Elas
Agens Graph常用语法总结
qq_21090437的博客
09-14 562
Agens Graph常用语法总结Agens Graph语法笔记1、创建一个被称作网络的图形,并将其设置为当前图形(在数据库中,其中的"feng"和Postgre数据库的模式为同一级别,而标签和Postgre数据库的表为同一级别):2、删除一个网络图形:3、创建一个节点时,即使报错,也仍然会在数据库中产生一条记录:4、查询personel_fkc下的所有图形:5、查询name="张子枫"的节点与所有其他节点的关系:6、创建节点与节点之间的关系:7、查询知识图谱关系网中,和谢娜有"夫妻"关系的人的所有好友信息
3,graph语法学习
qq_57187936的博客
04-02 2568
来源:http://soft.xiaoshujiang.com/docs/grammar/feature/mermaid/#mermaid_5 本文在Vue主题下效果更好 概述 Generation of diagram and flowchart from text in a similar manner as markdown 通过 mermaid 可以实现以纯文本的方式绘制流程图,序列图,甘特图等。 小书匠编辑器在 markdown 强大的优势下,更是无缝集成了 mermaid 的所有功能,用户
Microsoft Graph for Office 365请求语法
12-17 1189
博客地址:http://blog.csdn.net/FoxDave 本篇我们对Microsoft Graph的请求语法进行一下分析。 语法 https://graph.microsoft.com/{version}/{resource}/{id}/{property}?{query-parameters} HTTP动词 Microsoft Graph接受以下HTTP请求动词以确定要执行的操作: ...
Graph(图)干货归纳+用法示例
最新发布
lzq8090的博客
04-01 2403
C++图(Graph)是一种数据结构,用于表示对象之间的关系。它由节点(Vertex)和边(Edge)组成,节点表示对象,边表示对象之间的关系。
图(Graph)详解 - 数据结构
qq_61939403的博客
12-21 6633
图及其最短路径算法详解
Canvas的基本介绍
hutongkoudemihu的博客
06-17 1953
1.什么是Canvas定义:是HTML5提供的一种新标签, ie9才开始支持的,Canvas是一个矩形区域的画布,可以用JS控制每一个像素在上面绘画。canvas 标签使用 JavaScript 在网页上绘制图像,本身不具备绘图功能。canvas 拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法。2.Canvas主要应用的领域1 可视化数据: 各类统计图表,比如:百度的echart2 场景秀: 用Canvas实现动态的广告效果能够非常融洽的跨平台运行。如:手机中微产品.在移动端兼容性很好3 游戏: ca
lisp+dcl+紧密_AUTOLISP@DCL基础篇(全)
weixin_39621060的博客
12-21 1040
二位AutoCAD高手震撼年度精心巨作最震撼的AutoCAD专业工程师必修宝典一贯原则 篇篇精彩,句句重点二位高手 力求完美, 漂亮出击三个坚持 丰富专业、详实完整、不拖泥带水四项最多 范例最多、技巧最多、用心最多、回想最多五大目标 新的上路->循序渐进,熟悉Autolisp&DCL程序设计资深老手->充分掌握,自我希望成为真正的AutoCAD制图的创造者高手练功->如虎...
arcgis js api 4.x根据Graphic数组创建FeatureLayer。
MZ_的博客
07-06 1871
FeatureLayer在大部分情况下是使用已发布的地图服务的要素图层里的数据,如果想要展示特定的业务数据,比如数据库查询的数据点,首先想到的是GraphicsLayer,也可以使用FeatureLayer,给FeatureLayer设置数据源(Graphic数组)、字段信息、渲染器等信息。接下来分基本的四步(定义字段、创建Graphic数组、定义渲染器、创建FeatureLaye...
图的各个英文单词区别
杨德龙的专栏
10-19 4724
diagram,graph,chart,figure,drawing,illustration,image,map,picture,plot
table,diagram,char,graph,graphic有没有人能搞清楚它们的区别?
08-11 2905
table,是有格子的那种表格 diogram,名词时表示,图表,图解.V-图解,图示 chart,图示,可以表示天气图啊,航海图啊那样的一种图形示意吧, graph,一般都是那种曲线图,比如说销售的业绩用曲线的涨落表示啊.. graphic : ???
Grafana Panel 面板介绍和Time series(时间序列)
热门推荐
小楼一夜听春雨,深巷明朝卖杏花
03-17 1万+
面板介绍 面板(Panel)是 Grafana 中基本可视化构建块,每个面板都有一个特定于面板中选择数据源的查询编辑器,每个面板都有各种各样的样式和格式选项,面板可以在仪表板上拖放和重新排列,它们也可以调整大小,所以要在 Grafana 上创建可视化的图表,面板是我们必须要掌握的知识点。 Panel 是 Grafana 中最基本的可视化单元,每一种类型的面板都提供了相应的查询编辑器(Query Editor),让用户可以从不同的数据源(如 Prometheus)中查询出相应的监控数据,并且以可视化的方式
计算机中的图形Graphic)和图像(Image)
xingfuyisheng的专栏
08-10 1万+
计算机中的图形Graphic)和图像(Image) 在计算机中处理的图像是经过”数字化”后的视觉图像,称为数字化图像 图像(Image):也叫位图,保存方式为点阵存储,也称为点阵图像或绘制图像 图形Graphic):也叫矢量图,用数学方法描述存储,也称为面向对象的图像或绘图图像 图像(位图)以像素为基本单位,像素是指基本原色素及其灰度的基本编码,像素是构成数码图像的基本 单位,通常...
图形和图像的区别(基础认知)
ylwdi的专栏
12-19 5757
图形graphic是基于矢量的,所谓矢量,比如线段,形状等,都是可以用一组数据加公式计算出来的。换句话说,矢量图形是算出来的图。因此,矢量土可以任意放缩不失真。图形学研究的典型是3D图形,3维游戏里渲染的场景就是图形光栅化的结果。光栅化是指把矢量图形表现在具体的显示设备上(转化成图像来显示)。实际上,严格说来,典型的图形处理软件是3d Max等为代表的,二维图形软件典型为Corel Draw, I
简易导航栏
Node.js安装报错 - npm -v 查看版本无效
09-23 264
HTML+CSS实现简易导航栏 知识点: 块级元素 / 行内元素 / 行内块 的区别/特点? 块级元素 独占一行 可以设置宽度 高度 内外边距 宽度默认是容器(父级宽度)的100% 是一个容器或者盒子,里面可以放块级或者行内元素 注意:文字类的元素(例如 :p元素,h1-h6元素)内不能放 块级元素 行内元素 相邻行内元素,一行显示多个 宽度 和 高度 设置无效 默认宽度是 本身内容的宽度 行内元素 内只能容纳 文本或者其他行内元素 注意: 链接内不能再放链接; 链接a内可以放块级元素,需要将
graphics | 基础绘图系统(十)——星形图、四瓣图、马赛克图
R语言学堂
06-25 2154
插播消息:最初建的交流群已经无法使用了,新建群的加入方式见次条推送。本篇是“基础绘图系统”系列推文的最后一篇,我们来介绍三种不常见的图形,对应的绘图函数分别如下:stars()fourfo...
写文章

热门文章

  • 响应式 Echarts Flutter 组件 4209
  • 【重写 CryptoJS】二、WordArray 与位操作 3839
  • TypeScript 中的命名参数、可选参数、默认参数 3646
  • Graphic:基于图形语法的 Flutter 可视化库 2808
  • Git Worktree:解决分支依赖冲突的问题 2352

最新评论

  • Graphic:基于图形语法的 Flutter 可视化库

    七七不说话~: 如何获取手指按下后相应的横坐标与纵坐标参数 谢谢大佬指点一下

  • 响应式 React Native Echarts 组件

    易二三: 想要设置echarts的一些样式, series:[ { data: data, itemStyle: { normal: { color: function(params){ console.log(params) if(params.value >0 && params.value < 5> 5 && params.value < 10 ){ return "#27727B"; } return "#9BCA63"; } // color: "#9BCA63" } } }, ] 根本执行不到function里面的代码,这个怎么办呢?也是用的webView封装echarts

大家在看

  • 简单的xss漏洞 337
  • 【数据结构与算法】《布隆过滤器:高效数据筛选的魔法工具》
  • 【数据结构与算法】《红黑树的奥秘:自平衡之道》 396
  • 基于卷尾猴算法优化的灰度熵图像多阈值分割 324
  • 开源图像超分ECBSR项目源码分析 1139

最新文章

  • [Graphic 开发笔记] 4. 可交互 Flutter 图表
  • Graphic:基于图形语法的 Flutter 可视化库
  • 一次 Flutter WebView 性能优化
2022年1篇
2021年1篇
2020年2篇
2019年3篇
2018年6篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

玻璃钢生产厂家玻璃钢雕塑设计工程河北康大玻璃钢雕塑苏州仿真玻璃钢雕塑上海欧式玻璃钢雕塑订做价格邢台玻璃钢雕塑玻璃钢动物卡通雕塑定做上海暗黑色玻璃钢花盆户外装饰玻璃钢动物雕塑小品制作铸造玻璃钢卡通雕塑价格成都大型玻璃钢花盆咸阳玻璃钢花盆晋江商场美陈制作公司商场美陈阻燃材质河北常用商场美陈销售厂家深圳艺术商场美陈研发人物玻璃钢雕塑制作厂家耒阳玻璃钢人物雕塑玻璃钢花盆雕塑报价丽水抽象玻璃钢雕塑销售电话广东通道商场美陈销售厂家玻璃钢雕塑马 阿里巴巴六安卡通玻璃钢雕塑价格石家庄哪有做玻璃钢雕塑红色玻璃钢人物雕塑咨询问价菏泽太湖石校园玻璃钢景观雕塑商场百货的美陈常见商场美陈研发龙泉玻璃钢卡通座椅雕塑白城商场美陈广东室内商场美陈费用香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化