成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

第一次使用AntV中的F2

livem / 3168人閱讀

摘要:開(kāi)始使用項(xiàng)目開(kāi)發(fā),我寫(xiě)的是折線面積圖滑動(dòng)下載直接引入就開(kāi)始畫(huà)圖創(chuàng)建指定開(kāi)始繪制對(duì)數(shù)據(jù)源格式的要求,僅僅是數(shù)組,數(shù)組的每個(gè)元素是一個(gè)標(biāo)準(zhǔn)對(duì)象。

數(shù)據(jù)可視化插件——AntV

AntV 是螞蟻金服全新一代數(shù)據(jù)可視化解決方案,致力于提供一套簡(jiǎn)單方便、專(zhuān)業(yè)可靠、無(wú)限可能的數(shù)據(jù)可視化最佳實(shí)踐

平常開(kāi)發(fā)中大家都會(huì)接觸一些數(shù)據(jù)可視化工具,常用的echarts,Highcharts,D3等。
個(gè)人覺(jué)得AntV的UI好看一些,再加上F2是移動(dòng)端可視化方案,所以就有了接下來(lái)的爬坑過(guò)程。

開(kāi)始使用

vue項(xiàng)目開(kāi)發(fā),我寫(xiě)的是折線面積圖+滑動(dòng)

下載

npm install @antv/f2 --save
直接引入就ok
const F2 = require("@antv/f2");

開(kāi)始畫(huà)圖
創(chuàng)建canvas,指定id

開(kāi)始繪制

// F2 對(duì)數(shù)據(jù)源格式的要求,僅僅是 JSON 數(shù)組,數(shù)組的每個(gè)元素是一個(gè)標(biāo)準(zhǔn) JSON 對(duì)象。
const data = [
  { genre: "Sports", sold: 275 },
  { genre: "Strategy", sold: 115 },
  { genre: "Action", sold: 120 },
  { genre: "Shooter", sold: 350 },
  { genre: "Other", sold: 150 },
];

// Step 1: 創(chuàng)建 Chart 對(duì)象
const chart = new F2.Chart({
  id: "myChart",
  pixelRatio: window.devicePixelRatio // 指定分辨率
});

// Step 2: 載入數(shù)據(jù)源
chart.source(data);

// Step 3:創(chuàng)建圖形語(yǔ)法,繪制柱狀圖,由 genre 和 sold 兩個(gè)屬性決定圖形位置,genre 映射至 x 軸,sold 映射至 y 軸
chart.interval().position("genre*sold").color("genre");

// Step 4: 渲染圖表
chart.render();

嘿嘿,都是copy官網(wǎng)的

相關(guān)API使用
最常用的,畢竟其他的我也不會(huì)

Axis-坐標(biāo)軸配置
這個(gè)我主要用來(lái)自定義X軸Y軸內(nèi)容。
就那這個(gè)數(shù)據(jù)來(lái)舉例吧

list: [
    {"date": "2018-08-08","record": 166},
    {"date": "2019-01-01","record": 174},
    {"date": "2019-01-02","record": 166},
    {"date": "2019-01-03","record": 166},
    {"date": "2019-01-05","record": 187},
    {"date": "2019-01-06","record": 189},
    {"date": "2019-01-17","record": 156},
    {"date": "2019-04-18","record": 231}
]
//date為X軸,record Y軸
chart.axis("date", {
    label: function label(text, index, total) {
        var cfg = {
            textAlign: "center",//定義樣式
        };
        if (index === 0) {
            cfg.textAlign = "start";
            cfg.text = "+" + text;//可以更改X軸數(shù)據(jù)格式等
            cfg.fill = "#F5222D";//文字顏色
        }
        if (index > 0 && index === total - 1) {
            cfg.textAlign = "end";
        }
        return cfg;
    }
});
//定義X軸Y軸
var defs = {
    date: {
        type: "timeCat",//類(lèi)型為日期
        mask: "YY/MM/DD",//日期格式
        tickCount: 4,//區(qū)間,寫(xiě)幾就有幾個(gè)區(qū)間
    },
    record: {
        tickCount: 5,
        min: 0,//軸的最小值&最大值
        alias: "身高"http://定義這個(gè)軸是啥類(lèi)型
    }
};

chart.source(this.list, defs);//載入數(shù)據(jù)

tooltip-自定義提示
這一塊沒(méi)有研究透徹,自己看看吧鏈接

chart.tooltip(false)//直接關(guān)閉,沒(méi)任何提示
chart.tooltip({
    showItemMarker: false,
    onShow: function onShow(ev) {
      //自定義提示內(nèi)容
      var items = ev.items;
      items[0].name = null;
      items[0].name = items[0].title;
      items[0].value = items[0].value + "%";
    }
});

guide

chart.guide().text({
    position: ["min", "max"],
    content: "提示",
    style: {
        textBaseline: "middle",
        textAlign: "start"
    },
    offsetY: -23,
    offsetX: -25
});

就是這個(gè)東西

線,面積,點(diǎn)

//先X軸后Y軸
chart.line().position("date*record").color("#FFB024");//線
chart.area().position("date*record").style({fillStyle: "l(90) 0:rgba(255,202,106,1) 1:rgba(255,201,104,0.3)",fillOpacity: 1});//面積漸變色
chart.point().position("date*record").color("red");//點(diǎn)
滑動(dòng)+滾動(dòng)條
手機(jī)上看圖,如果X軸數(shù)據(jù)過(guò)多,都堆一起了,所以就用滑動(dòng)了
//引入
const ScrollBar = require("@antv/f2/lib/plugin/scroll-bar");
const pan = require("@antv/f2/lib/interaction/pan");
//注冊(cè)
var chart = new F2.Chart({
    id: "myChart",
    pixelRatio: window.devicePixelRatio,
    plugins: [ScrollBar, pan]
});
//官網(wǎng)用法
//X軸為1955-2015,5年一個(gè)區(qū)間,載入數(shù)據(jù)都時(shí)候定義一個(gè)最大最小都區(qū)間
chart.source(data, {
   release: {
      min: 1990,
      max: 2010
   }
});
chart.interaction("pan");
// 定義進(jìn)度條
chart.scrollBar({
    mode: "x",
    xStyle: {
        offsetY: -5
    }
});
我的寫(xiě)法
//因?yàn)槲覀僗軸日期格式為2019-01-01這種 換算了一下
當(dāng)數(shù)據(jù)大于五條當(dāng)時(shí)候開(kāi)始滑動(dòng)
const a = 1000000000
var dataMap = data.map((item, index) => {
    return {
        date: index + a,
        record: item.record
    }
})
        
var min = a, max = a + 4, tickCount = 5;

if (dataMap.length > 5) {
    tickCount = 5;
    chart.scrollBar({
        mode: "x",
        xStyle: {
            backgroundColor: "#e8e8e8",
            fillerColor: "#808080",
            offsetY: -2
        }
    });
    chart.interaction("pan");
}else if(dataMap.length == 1){
    max = a;
    tickCount = 2;
    chart.point().position("date*record").color("#FFB024");
}else{
    max = dataMap.length +a -1
    tickCount = dataMap.length;
}
            
chart.source(dataMap,{
    date: {
        min:min,
        max:max,
        tickCount:tickCount
    }
})
chart.axis("date", {
    label: function label(text, index, total) {
        const cfg = {
            textAlign: "center"
        }
        cfg.text = data[text-a].date
        return cfg;
    }
});
結(jié)語(yǔ)

第一次發(fā)文章,可能不是太好,希望大家喜歡,原諒我不會(huì)弄?jiǎng)訄D,所以沒(méi)放效果圖。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/101423.html

相關(guān)文章

  • Antv F2的報(bào)錯(cuò)解決辦法,可解決類(lèi)似所有Antv F2方法名找不到的問(wèn)題

    摘要:一句話總結(jié)使用代替如果已心領(lǐng)神會(huì),可以關(guān)閉該頁(yè)面啦叨叨叨如下舉一個(gè)小小例子,例子來(lái)源于官方文檔使用過(guò)程中,需要給餅圖配置,官方例子提供的代碼如下這時(shí)候會(huì)發(fā)現(xiàn)你的餅圖沒(méi)法像官方例子那樣如愿出現(xiàn),而且報(bào)了個(gè)錯(cuò),剛好我也遇到了跟你同樣的問(wèn)題, 一句話總結(jié):使用 import F2 from @antv/f2/lib/index-all; 代替 import F2 from @antv/f2;...

    馬龍駒 評(píng)論0 收藏0
  • 螞蟻金服移動(dòng)端可視化解決方案 F2 3.2 正式發(fā)布

    摘要:,一個(gè)專(zhuān)注于移動(dòng),開(kāi)箱即用的可視化解決方案,完美支持環(huán)境同時(shí)兼容多種環(huán)境小程序,。專(zhuān)業(yè)的移動(dòng)設(shè)計(jì)指引為你帶來(lái)最佳的移動(dòng)端圖表體驗(yàn)?;冢苿?dòng)端可視化圖表庫(kù)。 showImg(https://segmentfault.com/img/remote/1460000016176811?w=1600&h=440); F2,一個(gè)專(zhuān)注于移動(dòng),開(kāi)箱即用的可視化解決方案,完美支持 H5 環(huán)境同時(shí)兼容多...

    sydMobile 評(píng)論0 收藏0
  • 螞蟻金服可視化圖形語(yǔ)法 G2 3.3 發(fā)布:琢·磨

    摘要:更好的閱讀體驗(yàn),請(qǐng)移步語(yǔ)雀是螞蟻金服數(shù)據(jù)可視化解決方案的一個(gè)子產(chǎn)品,是一套數(shù)據(jù)驅(qū)動(dòng)的高交互的可視化圖形語(yǔ)法。歡迎共建是一套數(shù)據(jù)驅(qū)動(dòng)的高交互的可視化圖形語(yǔ)法。 showImg(https://segmentfault.com/img/remote/1460000016710544); 更好的閱讀體驗(yàn),請(qǐng)移步語(yǔ)雀 G2 是螞蟻金服數(shù)據(jù)可視化解決方案 AntV 的一個(gè)子產(chǎn)品,是一套數(shù)據(jù)驅(qū)動(dòng)的...

    TZLLOG 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<