91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么用vue+echars封裝氣泡圖

發布時間:2022-08-30 11:39:55 來源:億速云 閱讀:136 作者:iii 欄目:開發技術

本篇內容介紹了“怎么用vue+echars封裝氣泡圖”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

1. html

<template>
  <div class="bubble-chart">
    <div ref="bubbleChart" class="bubble"></div>
  </div>
</template>

2. js

<script>
export default {
  name: "BubbleChart",
  props: {
    rowData: {
      default: () => {
        return [
          {
            name: "員工增長",
            value: -20,
          },
          {
            name: "員工增長",
            value: -38,
          },
          {
            name: "員工增長",
            value: 44,
          },
          {
            name: "員工增長",
            value: 42,
          },
          {
            name: "員工增長",
            value: 35,
          },
          {
            name: "員工增長",
            value: 30,
          },
          {
            name: "員工增長",
            value: -25,
          },
          {
            name: "員工增長",
            value: 20,
          },
          {
            name: "員工增長",
            value: 12,
          },
          {
            name: "員工增長",
            value: 15,
          },
          {
            name: "營收增長",
            value: 15,
          },
          {
            name: "營收增長",
            value: -15,
          },
          {
            name: "營收增長",
            value: 30,
          },
          {
            name: "營收增長",
            value: -21,
          },
          {
            name: "營收增長",
            value: -22,
          },
          {
            name: "營收增長",
            value: 23,
          },
          {
            name: "營收增長",
            value: 8,
          },
          {
            name: "營收增長",
            value: 56,
          },
          {
            name: "營收增長",
            value: 31,
          },
          {
            name: "營收增長",
            value: -3,
          },
        ];
      },
    },
    color: {
      default: () => {
        return "#50BCD8";
      },
    },
    legends: {
      type: Array,
      default: () => {
        return ["員工增長", "營收增長"];
      },
    },
  },
  data() {
    return {
      chartInstance: null,
      staffData: [],
      revenueData: [],
      dataList: [],
    };
  },
  mounted() {
    this.initChart();
  },
  methods: {
    // 初始化實例
    initChart() {
      //  掛在 DOM
      this.chartInstance = this.$echarts.init(this.$refs.bubbleChart);
      //  初始化配置項
      let option = {
        grid: {
          left: "0%",
          right: "2%",
          bottom: "3%",
          containLabel: true,
        },
        xAxis: {
          name: this.legends[1],
           nameTextStyle: {
            padding: [40, 65, 0, -65]    // 四個數字分別為上右下左與原位置距離
        },
          type: "value",
          scale: true,
          axisLabel: {
            formatter: "{value}",
          },
          splitLine: {
            show: false,
          },
          axisLine: {
            lineStyle: {
              color: "#BFEBFF",
            },
          },
        },
        yAxis: {
          name: this.legends[0],
          type: "value",
          scale: true,
          axisLabel: {
            formatter: "{value}",
          },
          splitLine: {
            show: false,
          },
          axisLine: {
            lineStyle: {
              color: "#BFEBFF",
            },
          },
        },
        series: [],
      };

      this.setSeries(option);
      this.setOption(option);
    },
    //  設置series
    setSeries(option) {
      this.rowData.forEach((e) => {
        if (e.name === this.legends[0]) {
          this.staffData.push(e);
        } else {
          this.revenueData.push(e);
        }
      });
      this.staffData.forEach((e, i) => {
        this.revenueData.forEach((item, index) => {
          if (i === index) {
            this.dataList.push([e.value, item.value]);
          }
        });
      });
      let _series = {
        data: this.dataList,
        type: "scatter",
        symbolSize: function(data) {
          return (Math.abs(data[1]) + Math.abs(data[0])) / 2;
        },
        label: {
          show: false,
        },
        itemStyle: {
          normal: {
            color: this.color,
          },
        },
      };
      option.series.push(_series);
    },
    //  設置圖表
    setOption(option) {
      this.chartInstance.setOption(option);
    },
  },
};
</script>

3. css

<style lang="less" scoped>
.bubble-chart {
  width: 100%;
  height: 100%;

  .bubble {
    width: 100%;
    height: 100%;
  }
}
</style>

“怎么用vue+echars封裝氣泡圖”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

商都县| 太原市| 库伦旗| 白沙| 巨鹿县| 霍林郭勒市| 丰县| 宁武县| 红河县| 南昌县| 新河县| 襄城县| 永德县| 香河县| 桐城市| 安乡县| 延安市| 安平县| 巍山| 科技| 文水县| 洪洞县| 武威市| 奇台县| 特克斯县| 定结县| 淳化县| 中江县| 东源县| 吉安县| 南京市| 英超| 徐闻县| 乾安县| 丹凤县| 台安县| 黔江区| 伊金霍洛旗| 万盛区| 贡山| 文安县|