首页

源码搜藏网

首页 > 开发教程 > js/jQuery教程 >

vue+F2生成折线图的办法

创建时间:2022-04-07 12:37  

本文实例为大家分享了vue+F2生成折线图的具体代码,供大家参考,具体内容如下

1、效果图

vue+F2生成折线图的办法

2、打开命令窗口,通过 npm 安装F2

npm install @antv/f2 --save

3、使用 import 或 require 引入F2

const F2 = require('@antv/f2');

4、在页面上创建一个具备宽高的 canvas 标签,并指定 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: 创建 Chart 对象
   const chart = new F2.Chart({
    id: "myChart",
    pixelRatio: window.devicePixelRatio // 指定分辨率
   });

   // Step 2: 载入数据源
   chart.source(_this.chartData, {
    value: {
     tickCount: 10, // 坐标轴上刻度点的个数
     min: 50, // 手动指定value字段最小值
     max: 350 // 手动指定value字段最大值
    },
    date: {
     type: "timeCat", // 指定date字段为时间类型
     range: [0, 0.8], // 占x轴80%
     tickCount: 3 // 坐标轴上刻度点的个数
    }
   });

   // Step 3:使用图形语法进行图表的绘制
   // 注意:f2是移动端图表库,只有在移动端才能显示图例
   chart.tooltip({
    custom: true, // 是否自定义 tooltip 提示框
    showXTip: true, // 是否展示 X 轴的辅助信息
    showYTip: true, // 是否展示 Y 轴的辅助信息
    snap: true, // 是否将辅助线准确定位至数据点
    crosshairsType: "xy", // 辅助线的种类
    crosshairsStyle: {
     // 配置辅助线的样式
     lineDash: [2], // 点线的密度
     stroke: "rgba(255, 0, 0, 0.25)",
     lineWidth: 2
    }
   });

   // 坐标轴配置(此处是为date对应的坐标轴进行配置)
   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 轴连接成一条线,构成线图
   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>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持源码搜藏网。

上一篇:Vue使用MD5对前后端进行加密的实现
下一篇:没有了

相关内容

热门推荐