Vue 中使用vue2-highcharts实现曲线数据展示示例

1、要实现的效果如下图:
这里写图片描述

2、vue前端页面如下:

<template>

  <div>
      <div>
        <div>
              <img src="../assets/index/back.png" class="rank-head-back" @click="routerBack"/>

              <span >历史曲线</span>
        </div>
      </div>

      <div >
            <div >
                <span >{
   {$route.params.monitorName}}({
   {$route.params.meterId}})</span>
            </div>

      </div>

      <div >

            <div >
                <yesterdaypicker v-on:startPicked="startPicked" style="margin-left:10px;"></yesterdaypicker>
            </div>

                <div >
                <daypicker v-on:endPicked="endPicked" style="margin-left:10px;"></daypicker>
                </div>

      </div>

      <div >

            <div >

                  <vchooser  :selections="periodList" @on-change="onParamChange('versions', $event)"></vchooser>

            </div>

      </div>

      <div >

            <div class="charts" >
                 <vue-highcharts :options="options" ref="lineCharts" ></vue-highcharts>
            </div>

      </div>

  </div>

</template>

<script>

  import vchooser from '../components/chooser.vue'
  import VueHighcharts from 'vue2-highcharts'
  import daypicker from '../components/daypicker.vue'
  import yesterdaypicker from '../components/yesterdaypicker.vue'


  export default {
    data() {
        return{
           startDay:'',
           endDay:'',
           setIntervalNum:0,
           itemStatus:0,
           itemTitle:'功率因数',
           itemType:this.$route.params.meterType,
           periodList:[
             {
               label: '功率因数',
               value: 0
             },
             {
               label: '电流',
               value: 1
             },{
               label: '电压',
               value: 2
             },{
               label: '有功功率',
               value: 3
             },{
               label: '无功功率',
               value: 4
             }/*,{
               label: '视在功率',
               value: 5
             }*/,{
               label: '有功电量',
               value: 6
             },
           ],
           ownerFreeData: [],
           options: {
           global: {
              useUTC: false
            },
           chart: {
              type: 'spline'
            },
            title: {
              text: '功率因素'
              //text: ' '
            },
            subtitle: {
              text: ''
            },
            xAxis: {
              type: 'category'
            },
            yAxis: {
              title: {
                text: '功率因素(%)'
                //text: '  '
              },
              labels: {
                formatter: function () {
     
                  return this.value;
                }
              }
            },
            tooltip: {
              crosshairs: true,
              shared: true
            },
            credits: {
              enabled: false
            },
            plotOptions: {
              spline: {
                marker: {
                  radius: 4,
                  lineColor: '#666666',
                  lineWidth: 1
                }
              }
            },
            series: []

           }

        }
    },
        methods: {
      startPicked(year, month, date) {
          //this.ownerFreeData = []
          if(this.$refs.lineCharts != null){
             this.$refs.lineCharts.removeSeries();
          }
          var monthStr = '';
          var dayStr = '';
          if(month < 10){
              monthStr = `0${month}`;
          }else{
              monthStr = `${month}`;
          }
          if(date < 10){
              dayStr = `0${date}`;
          }else{
              dayStr = `${date}`;
          }

          this.startDay = `${year}-` + monthStr + '-' + dayStr;

          if(this.$refs.lineCharts != null){
             this.getList();
          }
      },
      endPicked(year, month, date) {
          //this.ownerFreeData = []
          if(
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
好的,让我来帮您回答这个问题。首先,您需要安装 HighchartsVue 。然后,您可以将 Highcharts 引入您的 Vue 组件并创建一个气泡图。 以下是实现的步骤: 1. 安装 Highcharts 您可以通过 NPM 或 Yarn 安装 Highcharts 依赖。 npm install highcharts --save 或 yarn add highcharts 2. 引入 Highcharts 模块 在您的 Vue 组件,您需要引入 Highcharts 模块。 import Highcharts from "highcharts"; 3. 创建 Vue 组件 您可以创建一个 Vue 组件,例如 BubbleChart 。 Vue.component("bubble-chart", { template: ` <div ref="chart"></div> `, mounted() { this.renderChart(); }, methods: { // 渲染气泡图 renderChart() { Highcharts.chart(this.$refs.chart, { chart: { type: "bubble", plotBorderWidth: 1, zoomType: "xy" }, title: { text: "气泡图" }, xAxis: { gridLineWidth: 1 }, yAxis: { startOnTick: false, endOnTick: false }, series: [ { data: [ [9, 81, 63], [98, 5, 89], [51, 50, 73], [41, 22, 14], [58, 24, 20], [78, 37, 34], [55, 56, 53], [18, 45, 70], [42, 44, 28], [3, 52, 59], [31, 18, 97], [79, 91, 63], [93, 23, 23], [44, 83, 22] ], marker: { fillColor: { radialGradient: { cx: 0.4, cy: 0.3, r: 0.7 }, stops: [ [0, "rgba(255,255,255,0.5)"], [1, Highcharts.Color(Highcharts.getOptions().colors[0]).setOpacity(0.5).get("rgba")] ] } } } ] }); } } }); 4. 使用组件 在您的 Vue 文件或模板使用 BubbleChart 组件。 <template> <div> <h1>气泡图示例</h1> <bubble-chart></bubble-chart> </div> </template> 5. 运行您的应用 现在您可以运行您的应用并查看气泡图的效果。 这是一个简单的示例,您可以根据您自己的需求进行调整。希望这可以帮助您实现一个气泡图!
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值