前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ali F2(移动端数据展示) 入门

ali F2(移动端数据展示) 入门

作者头像
copy_left
发布2019-08-21 16:30:14
1.3K0
发布2019-08-21 16:30:14
举报
文章被收录于专栏:方球方球

F2

安装
代码语言:javascript
复制
// yarn 
yarn add @antv/f2 

// npm
npm i --save @antv/f2 

基本使用

Chart 创建图表实例
代码语言:javascript
复制
// html
// 图表装载容器
<canvas id='chart'/>
代码语言:javascript
复制
import F2 from '@antv/f2'

const chart = new F2.Chart({
    id: 'chart' // 挂载容器 id, 也可以使用 el: 元素对象
    width: 320,
    height: 400,
    pixelRatio: window.devicePixelRatio // 设置分辨率

})
Chart.source 添加数据
代码语言:javascript
复制
const data = [
    {
        label: "苹果",
        nums: 100
    },
    {
        label: "橘子",
        nums: 120
    }
]

chart.source(data)
声明图表类型
代码语言:javascript
复制
// 声明类型为 柱状图表
chart.interval()
  • 图表类型
    • point 点,气泡
    • path 路径
    • line 线段
    • area 区域
    • interval 矩形,弧形
    • polygon 多边形
    • schema 自定义
设置图表属性
代码语言:javascript
复制
// 图表属性需要跟随不同的图表做设定
chart.interval().position("label*nums").size(10)
// 这里设置 x, y 轴对应的数据值 "lable*nums", 柱图矩形的宽度
  • 可设置的图表属性
    • position 位置映射
    • color 颜色
    • size 大小尺寸
    • shape 形状
渲染图形
代码语言:javascript
复制
chart.render()
更新数据
代码语言:javascript
复制
// 更新数据
chart.changedata(newData)

// 更新渲染
chart.repaint()
清除图表
代码语言:javascript
复制
chart.clear()
柱状图转饼图 (修改图表坐标系)
  • 坐标系类型
    • rect 直角坐标系(默认)
    • polar 极坐标系
代码语言:javascript
复制
 chart.interval().position('genre*sold').color('genre')
 chart.coord('polar') // 修改坐标系,将柱状图改为饼图或雷达图
  • 坐标系设置参数
代码语言:javascript
复制
// 直角坐标系
chart.coord('rect', {
  transposed: true  // 坐标系进行转置, 由纵向改为横向
});

// 极坐标系
chart.coord('polar', {
  startAngle: {Number}, // 起始弧度 [ 1弧度 = 57.29578度 ] 
  endAngle: {Number}, // 结束弧度 
  innerRadius: {Number}, // 用于空心部分的半径设置
  radius: {Number}, // 实心圆的半径大小设置
  transposed: true // 极坐标转置
});

进阶概念

度量

chart.source(data, defs)

设置数据源时,通过提供第二个参数, 可以设置数据中单一数据值的展示属性

  • 分类
    • identity 常量
    • linear 连续数字 [1, 2, 3]
    • cat 分类 ['猫科', '犬科']
    • timeCat 时间类型
基本使用
  • 名称排序
代码语言:javascript
复制
const data = [

    {
        label: '广州',
        nums: 100
    },
    {
        label: '上海',
        nums: 120
    },
    {
        label: '深圳',
        nums: 50
    }

];

const defs = {
    
    label: {
        type: 'cat',
        values: ['深圳', '上海'] // 展示时的排列顺序, 未包含的值将不会显示
    }
    
}

chart.source(data, defs)
  • 设置取值范围
代码语言:javascript
复制
const data = [
    
    {num: 10},
    {num: 50},
    {num: 90},
]


const defs = {
    num: {
        type: 'linear',
        min: 0, 
        max: 60
    }
}

chart.source(data, defs) // 只显示范围内数据
  • 标识处理
代码语言:javascript
复制
const data = [

    {
        label: '广州',
        nums: 100
    },
    {
        label: '上海',
        nums: 120
    },
    {
        label: '深圳',
        nums: 50
    }

];

const defs = {
    label: {
        // 回调函数, 获取对应标识值作为参数
        formatter (value){
            return `${value}市`
        }
        
    }
}
图形属性
  • 值类型/属性类型
代码语言:javascript
复制
const data = [

    [size: 10],
    [size: 20],
    [size: 40],

]

// 值类型
chart.point().size(20) // 所有点图形大小都为 20

// 属性类型
chart.point().size("size") // 点的大小由对应的数据属性"size" 决定
  • 多值与回调 属性值可以设置为多个,使用 * 链接

可接受一个函数作为第二参数, 函数接收的参数为第一参数的配置, 函数返回值将作为配置值

代码语言:javascript
复制
const data = [
    
    {w: 10, h: 20},
    {w: 30, h: 40},
    {w: 50, h: 10},
]

// 无回调
chart.point().size("w*h") // size 默认将取第一项值 既 w 的值

// 有回调
chart.point().size("w*h", (w, h) => w + h) // size 最终接收 w 与 h 的和作为配置值

其他

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019.02.27 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • F2
    • 安装
    • 基本使用
      • Chart 创建图表实例
        • Chart.source 添加数据
          • 声明图表类型
            • 设置图表属性
              • 渲染图形
                • 更新数据
                  • 清除图表
                    • 柱状图转饼图 (修改图表坐标系)
                    • 进阶概念
                      • 度量
                        • 基本使用
                          • 图形属性
                          • 其他
                          相关产品与服务
                          容器服务
                          腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
                          领券
                          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档