vue+F2生成折線圖的方法
本文實例為大家分享了vue+F2生成折線圖的具體代碼,供大家參考,具體內(nèi)容如下
1、效果圖

2、打開命令窗口,通過 npm 安裝F2
npm install @antv/f2 --save
3、使用 import 或 require 引入F2
const F2 = require('@antv/f2');4、在頁面上創(chuàng)建一個具備寬高的 canvas 標(biāo)簽,并指定 id:
<template> ? <div class="container"> ? ? <canvas id="myChart"></canvas> ? </div> </template>
5、編寫圖表繪制代碼
<template>
? <div class="container">
? ? <canvas id="myChart"></canvas>
? </div>
</template>
<script>
const F2 = require("@antv/f2");
export default {
? name: "aaa",
? data() {
? ? return {
? ? ? chartData: [
? ? ? ? {
? ? ? ? ? date: "2017-06-05",
? ? ? ? ? value: 116
? ? ? ? },
? ? ? ? {
? ? ? ? ? date: "2017-06-06",
? ? ? ? ? value: 129
? ? ? ? },
? ? ? ? {
? ? ? ? ? date: "2017-06-07",
? ? ? ? ? value: 135
? ? ? ? },
? ? ? ? {
? ? ? ? ? date: "2017-06-08",
? ? ? ? ? value: 86
? ? ? ? },
? ? ? ? {
? ? ? ? ? date: "2017-06-09",
? ? ? ? ? value: 73
? ? ? ? },
? ? ? ? {
? ? ? ? ? date: "2017-06-10",
? ? ? ? ? value: 85
? ? ? ? },
? ? ? ? {
? ? ? ? ? date: "2017-06-11",
? ? ? ? ? value: 73
? ? ? ? },
? ? ? ? {
? ? ? ? ? date: "2017-06-12",
? ? ? ? ? value: 68
? ? ? ? },
? ? ? ? {
? ? ? ? ? date: "2017-06-13",
? ? ? ? ? value: 92
? ? ? ? },
? ? ? ? {
? ? ? ? ? date: "2017-06-14",
? ? ? ? ? value: 130
? ? ? ? },
? ? ? ? {
? ? ? ? ? date: "2017-06-15",
? ? ? ? ? value: 245
? ? ? ? },
? ? ? ? {
? ? ? ? ? date: "2017-06-16",
? ? ? ? ? value: 139
? ? ? ? },
? ? ? ? {
? ? ? ? ? date: "2017-06-17",
? ? ? ? ? value: 115
? ? ? ? },
? ? ? ? {
? ? ? ? ? date: "2017-06-18",
? ? ? ? ? value: 111
? ? ? ? },
? ? ? ? {
? ? ? ? ? date: "2017-06-19",
? ? ? ? ? value: 309
? ? ? ? },
? ? ? ? {
? ? ? ? ? date: "2017-06-20",
? ? ? ? ? value: 206
? ? ? ? },
? ? ? ? {
? ? ? ? ? date: "2017-06-21",
? ? ? ? ? value: 137
? ? ? ? },
? ? ? ? {
? ? ? ? ? date: "2017-06-22",
? ? ? ? ? value: 128
? ? ? ? },
? ? ? ? {
? ? ? ? ? date: "2017-06-23",
? ? ? ? ? value: 85
? ? ? ? },
? ? ? ? {
? ? ? ? ? date: "2017-06-24",
? ? ? ? ? value: 94
? ? ? ? }
? ? ? ]
? ? };
? },
? created() {},
? methods: {
? ? drawChart() {
? ? ? var _this = this;
? ? ? // Step 1: 創(chuàng)建 Chart 對象
? ? ? const chart = new F2.Chart({
? ? ? ? id: "myChart",
? ? ? ? pixelRatio: window.devicePixelRatio // 指定分辨率
? ? ? });
? ? ? // Step 2: 載入數(shù)據(jù)源
? ? ? chart.source(_this.chartData, {
? ? ? ? value: {
? ? ? ? ? tickCount: 10, // 坐標(biāo)軸上刻度點的個數(shù)
? ? ? ? ? min: 50, // 手動指定value字段最小值
? ? ? ? ? max: 350 // 手動指定value字段最大值
? ? ? ? },
? ? ? ? date: {
? ? ? ? ? type: "timeCat", // 指定date字段為時間類型
? ? ? ? ? range: [0, 0.8], // 占x軸80%
? ? ? ? ? tickCount: 3 // 坐標(biāo)軸上刻度點的個數(shù)
? ? ? ? }
? ? ? });
? ? ? // Step 3:使用圖形語法進行圖表的繪制
? ? ? // 注意:f2是移動端圖表庫,只有在移動端才能顯示圖例
? ? ? chart.tooltip({
? ? ? ? custom: true, // 是否自定義 tooltip 提示框
? ? ? ? showXTip: true, // 是否展示 X 軸的輔助信息
? ? ? ? showYTip: true, // 是否展示 Y 軸的輔助信息
? ? ? ? snap: true, // 是否將輔助線準(zhǔn)確定位至數(shù)據(jù)點
? ? ? ? crosshairsType: "xy", // 輔助線的種類
? ? ? ? crosshairsStyle: {
? ? ? ? ? // 配置輔助線的樣式
? ? ? ? ? lineDash: [2], // 點線的密度
? ? ? ? ? stroke: "rgba(255, 0, 0, 0.25)",
? ? ? ? ? lineWidth: 2
? ? ? ? }
? ? ? });
? ? ? // 坐標(biāo)軸配置(此處是為date對應(yīng)的坐標(biāo)軸進行配置)
? ? ? chart.axis("date", {
? ? ? ? label: function label(text, index, total) {
? ? ? ? ? const textCfg = {
? ? ? ? ? ? textAlign: "center"
? ? ? ? ? };
? ? ? ? ? // 第一個點左對齊,最后一個點右對齊,其余居中,只有一個點時左對齊
? ? ? ? ? if (index === 0) {
? ? ? ? ? ? textCfg.textAlign = "left";
? ? ? ? ? } else if (index === total - 1) {
? ? ? ? ? ? textCfg.textAlign = "right";
? ? ? ? ? }
? ? ? ? ? textCfg.text = "day: " + text; // textCfg.text 支持文本格式化處理
? ? ? ? ? return textCfg;
? ? ? ? }
? ? ? });
? ? ? // 點按照 x 軸連接成一條線,構(gòu)成線圖
? ? ? chart.line().position("date*value");
? ? ? // Step 4: 渲染圖表
? ? ? chart.render();
? ? }
? },
? components: {},
? mounted() {
? ? var _this = this;
? ? _this.drawChart();
? },
? computed: {},
? watch: {}
};
</script>
<style scoped>
.container {
? ? background-color: #fff;
}
#myChart {
? ? width: 100%;
? ? height: 260px;
}
</style>以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Vue生態(tài)系統(tǒng)工具庫Vueuse的使用示例詳解
Vueuse 是一個功能強大的 Vue.js 生態(tài)系統(tǒng)工具庫,它提供了一系列的可重用的 Vue 組件和函數(shù),本文將介紹 Vueuse 的主要特點和用法,以及它在 Vue.js 開發(fā)中的作用和優(yōu)勢,感興趣的可以了解下2024-02-02
webpack 3 + Vue2 使用dotenv配置多環(huán)境的步驟
這篇文章主要介紹了webpack 3 + Vue2 使用dotenv配置多環(huán)境,env文件在配置文件都可以用, vue頁面用的時候需要在 webpack.base.conf.js 重新配置,需要的朋友可以參考下2023-11-11
Vue實現(xiàn)當(dāng)訪問的路由不存在時跳轉(zhuǎn)到404頁面的方法詳解
在 Vue3 中,可以使用 Vue Router 實現(xiàn)跳轉(zhuǎn)到 404 頁面,即當(dāng)用戶訪問一個不存在路由時,系統(tǒng)會默認跳轉(zhuǎn)到 404 頁面,本文給大家介紹了一個簡單的實現(xiàn)方法,需要的朋友可以參考下2023-12-12
vue 監(jiān)聽input輸入事件(oninput)的示例代碼支持模糊查詢
這篇文章主要介紹了vue 監(jiān)聽input輸入事件(oninput)支持模糊查詢,比如說表格模糊查詢,實現(xiàn)一邊輸入,一邊過濾數(shù)據(jù),本文通過示例代碼給大家詳細講解,需要的朋友可以參考下2023-02-02
Vue+Echarts報錯Cannot?set?properties?of?undefined?(settin
這篇文章主要介紹了Vue+Echarts報錯Cannot?set?properties?of?undefined?(setting?‘plate‘)的問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-08-08

