最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Echarts Bar橫向柱狀圖實例代碼

 更新時間:2021年08月26日 09:18:49   作者:時光足跡  
柱狀圖主要用于表示離散數(shù)據(jù)的頻數(shù),也是一種基礎(chǔ)可視化圖,這篇文章主要給大家介紹了關(guān)于Echarts Bar橫向柱狀圖的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下

接上一篇# Echart Bar柱狀圖樣式詳解續(xù)寫,可以先看看上一篇,不看的話,影響也不是特別大。

橫向柱狀圖

動態(tài)更新數(shù)據(jù)和樣式

實現(xiàn)數(shù)據(jù)按月統(tǒng)計和按日統(tǒng)計的動態(tài)切換。按月統(tǒng)計時,每個月數(shù)據(jù)都會展示,x 軸顯示 12 個標(biāo)簽;按日統(tǒng)計時,x 軸不完全顯示所有標(biāo)簽,間隔顯示,而且柱狀體的寬度也會變化。主要是采用的是setOption方法。

官方文檔[setOption]:echarts.apache.org/zh/api.html

<script>
  import * as R from "ramda";

  const source1 = [
    ["1月", 1330, 666, 560],
    ["2月", 820, 760, 660],
    ......
    ["11月", 901, 880, 360],
    ["12月", 934, 600, 700],
  ];
  const source2 = [
    ["1日", 1330, 666, 560],
    ["2日", 820, 760, 660],
    ......
    ["29日", 934, 600, 700],
    ["30日", 1330, 666, 560],
  ];

  // 具體配置如之前所示,詳細(xì)省略,只做基本示例展示
  const initOption = {
    ...
    dataset: { source: source1 },
  };

  export default {
    data() {
      return {
        charts: null,
        isDaily: false,
      };
    },
    mounted() {
      this.charts = this.$echarts.init(
        document.getElementById("barCharts"),
        null,
        {
          renderer: "svg",
        }
      );
      this.charts.setOption(R.clone(initOption));
    },
    methods: {
      handleSource() {
        this.isDaily = !this.isDaily;
        this.charts.setOption(
          R.mergeDeepRight(initOption, {
            // 動態(tài)更新數(shù)據(jù)源
            dataset: {
              source: this.isDaily ? source2 : source1,
            },
            xAxis: {
              // 動態(tài)更新標(biāo)簽間隔
              axisLabel: {
                interval: this.isDaily ? 4 : "auto",
              },
            },
            series: R.map(
              // 動態(tài)更新柱體寬度
              (o) => ((o.barWidth = this.isDaily ? 12 : 24), o),
              initOption.series
            ),
          }),
          true
        );
        this.charts.resize();
      },
    },
  };
</script>

解決 echarts 寬高自適應(yīng)問題

在 web 項目中做圖表時,圖表的寬高不是固定的,需要隨著瀏覽器寬度高度自適應(yīng),使用的方法就是resize。如果有多個圖表,需要同時進(jìn)行resize處理。

<script>
  export default {
    mounted() {
      window.addEventListener("resize", this.handleResize, false);
    },
    destroyed() {
      window.removeEventListener("resize", this.handleResize);
    },
    methods: {
      handleResize() {
        const _this = this;
        const timer = setTimeout(() => {
          _this.lineCharts.resize();
          _this.barCharts.resize();
        }, 500);
        // 清除定時器
        this.$once("hook:beforeDestroy", () => {
          setTimeout(timer);
        });
      },
    },
  };
</script>

縱向柱狀圖

縱向柱狀圖實現(xiàn)

本質(zhì)和橫向是一樣的,就是將 x,y 軸值更換一下;x 軸為value,y 軸為category

let option = {
  xAxis: {
    type: "value",
  },
  yAxis: {
    type: "category",
  },
};

坐標(biāo)指示器背景漸變色

其實原理和橫向的一樣,就是漸變色處理的地方 x,y 值更換一下

let horizontalColor = {
  type: "linear",
  x: 1, // 更換
  y: 0,
  x2: 0,
  y2: 0, // 更換
  colorStops: [
    { offset: 0, color: "rgba(234,244,255,1)" },
    { offset: 1, color: "rgba(234,244,255,0.3)" },
  ],
  global: false,
};

柱體設(shè)置不同顏色

柱體的屬性設(shè)置series中color可以是一個函數(shù),在函數(shù)中處理。核心代碼為colorList[params.dataIndex]

let colorList = [
  "#1890ff",
  "#52c41a",
  "#faad14",
  "#f5222d",
  "#1DA57A",
  "#d9d9d9",
];
let series = [
  {
    type: "bar",
    barWidth: 16,
    itemStyle: {
      // 定制顯示(按順序),實現(xiàn)不同顏色的柱體
      color: (params) => {
        return colorList[params.dataIndex];
      },
    },
    dimensions: ["類型", "銷售數(shù)量"],
  },
];

柱狀圖上方顯示數(shù)值

柱體的屬性設(shè)置series中l(wèi)abel可以是一個函數(shù),在函數(shù)中處理??梢栽O(shè)置位置,字體顏色和大小等。核心代碼為params.value[params.encode.x[0]]。

let series = [
  {
    // ......
    type: "bar",
    label: {
      // 柱圖頭部顯示值
      show: true,
      position: "right",
      color: "#333",
      fontSize: "12px",
      formatter: (params) => {
        return params.value[params.encode.x[0]];
      },
    },
  },
];

tooltip 提示框自定義

和橫向的一樣,就是要注意取值params[0].axisValue, item.seriesName, item.value[item.encode.x[0]]

let tooltip = R.merge(tooltip, {
  formatter: function(params) {
    let html = `<div style="height:auto;width:163px;">
          <div style="font-size:14px;font-weight:bold;color:#333;margin-bottom:16px;line-height:1;">
            ${params[0].axisValue}
          </div>
          ${params
            .map(
              (
                item
              ) => `<div style="font-size:12px;color:#808080;margin-bottom:8px;display:flex;align-items:center;line-height:1;">
                <span style="display:inline-block;margin-right:8px;border-radius:6px;width:6px;height:6px;background-color:${
                  item.color
                };"></span>
                ${item.seriesName}
                <span style="flex:1;text-align:right;">${
                  item.value[item.encode.x[0]]
                }</span>
              </div>`
            )
            .join("")}
        </div>`;
    return html;
  },
});

總體實現(xiàn)

charts.setOption({
  title: {
    text: "銷售數(shù)量分布",
  },
  dataset: {
    source: [
      ["蘋果", 200],
      ["桃子", 180],
      ["葡萄", 340],
      ["香蕉", 250],
      ["芒果", 166],
      ["榴蓮", 185],
    ],
  },
  xAxis: R.merge(yAxis, {
    type: "value",
  }),
  yAxis: R.mergeDeepRight(xAxis, {
    type: "category",
    axisPointer: {
      shadowStyle: {
        color: horizontalColor,
      },
    },
  }),
  series,
  tooltip,
});

總結(jié)

到此這篇關(guān)于Echarts Bar橫向柱狀圖的文章就介紹到這了,更多相關(guān)Echarts Bar橫向柱狀圖內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 小程序?qū)崿F(xiàn)跑馬燈效果

    小程序?qū)崿F(xiàn)跑馬燈效果

    這篇文章主要為大家詳細(xì)介紹了小程序?qū)崿F(xiàn)跑馬燈效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • php 解壓zip壓縮包內(nèi)容到指定目錄的實例

    php 解壓zip壓縮包內(nèi)容到指定目錄的實例

    下面小編就為大家分享一篇php 解壓zip壓縮包內(nèi)容到指定目錄的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-01-01
  • javascript設(shè)計模式之中介者模式學(xué)習(xí)筆記

    javascript設(shè)計模式之中介者模式學(xué)習(xí)筆記

    這篇文章主要為大家詳細(xì)介紹了javascript設(shè)計模式之中介者模式學(xué)習(xí)筆記,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-02-02
  • 微信小程序+云開發(fā)實現(xiàn)歡迎登錄注冊

    微信小程序+云開發(fā)實現(xiàn)歡迎登錄注冊

    這篇文章主要介紹了微信小程序+云開發(fā)實現(xiàn)歡迎登錄注冊,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • JS實現(xiàn)的駝峰式和連字符式轉(zhuǎn)換功能分析

    JS實現(xiàn)的駝峰式和連字符式轉(zhuǎn)換功能分析

    這篇文章主要介紹了JS實現(xiàn)的駝峰式和連字符式轉(zhuǎn)換功能,結(jié)合實例形式分析了JS實現(xiàn)字符串的駝峰式與連接符式轉(zhuǎn)換的實現(xiàn)技巧,涉及js字符串遍歷、轉(zhuǎn)換及正則表達(dá)式相關(guān)操作方法,需要的朋友可以參考下
    2016-12-12
  • 刪除javascript所創(chuàng)建子節(jié)點的方法

    刪除javascript所創(chuàng)建子節(jié)點的方法

    這篇文章主要介紹了刪除javascript所創(chuàng)建子節(jié)點的方法,涉及javascript針對頁面節(jié)點元素的操作技巧,需要的朋友可以參考下
    2015-05-05
  • JavaScript中的scrollTop詳解(滾動到頂部)

    JavaScript中的scrollTop詳解(滾動到頂部)

    scrollTop是JavaScript中一個非常有用且重要的方法,它用于獲取或設(shè)置元素的垂直滾動條位置,這篇文章主要給大家介紹了關(guān)于JavaScript中scrollTop詳解(滾動到頂部)的相關(guān)資料,需要的朋友可以參考下
    2023-12-12
  • js實現(xiàn)適配不同的屏幕大小

    js實現(xiàn)適配不同的屏幕大小

    本文主要介紹了通過js適配不同的屏幕大小的相關(guān)知識。具有很好的參考價值。下面跟著小編一起來看下吧
    2017-04-04
  • js document.getElementsByClassName的使用介紹與自定義函數(shù)

    js document.getElementsByClassName的使用介紹與自定義函數(shù)

    今天在增加一個功能的時候需要用到getElementsByClassName(),getElementsByClassName但是HTML5 新增的DOM API。IE8以下不支持,那么就需要下面的方法解決了
    2016-11-11
  • 前端性能優(yōu)化建議

    前端性能優(yōu)化建議

    這篇文章主要分享了一些前端性能優(yōu)化的建議,幫助大家提高頁面性能,感興趣的朋友可以了解下
    2020-09-09

最新評論

云林县| 温州市| 盈江县| 彰化县| 牙克石市| 临猗县| 新兴县| 浦江县| 堆龙德庆县| 鹤峰县| 阿合奇县| 莱州市| 工布江达县| 通渭县| 金昌市| 新田县| 社旗县| 大安市| 昭苏县| 新龙县| 沂源县| 武平县| 抚顺市| 奉节县| 舞钢市| 明光市| 天等县| 运城市| 博罗县| 大宁县| 彭州市| 昂仁县| 达拉特旗| 石棉县| 怀来县| 集安市| 锦州市| 上思县| 扶绥县| 响水县| 凤阳县|