溫馨提示×

溫馨提示×

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

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

Echarts橫向堆疊柱狀圖和markLine怎么使用

發布時間:2022-06-06 10:38:57 來源:億速云 閱讀:292 作者:zzz 欄目:開發技術

Echarts橫向堆疊柱狀圖和markLine怎么使用

Echarts 是一個由百度開源的數據可視化庫,它提供了豐富的圖表類型和靈活的配置選項,能夠幫助開發者快速構建出美觀、交互性強的數據可視化圖表。本文將詳細介紹如何在 Echarts 中使用橫向堆疊柱狀圖(Horizontal Stacked Bar Chart)以及如何結合 markLine 來實現更復雜的數據展示。

1. 橫向堆疊柱狀圖簡介

橫向堆疊柱狀圖是一種將多個數據系列在水平方向上堆疊顯示的柱狀圖。每個柱子的長度代表數據的大小,而柱子內部的堆疊部分則代表不同系列的數據。這種圖表常用于展示多個類別的數據在不同維度上的分布情況。

2. 基本配置

首先,我們需要引入 Echarts 庫,并創建一個容器來放置圖表。以下是一個簡單的 HTML 結構:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Horizontal Stacked Bar Chart with markLine</title>
    <script src="https://cdn.jsdelivr.net/npm/echarts@5.3.2/dist/echarts.min.js"></script>
</head>
<body>
    <div id="main" style="width: 600px;height:400px;"></div>
    <script>
        // 在這里編寫 Echarts 配置
    </script>
</body>
</html>

3. 配置橫向堆疊柱狀圖

接下來,我們將在 script 標簽中編寫 Echarts 的配置代碼。以下是一個簡單的橫向堆疊柱狀圖的配置示例:

var myChart = echarts.init(document.getElementById('main'));

var option = {
    tooltip: {
        trigger: 'axis',
        axisPointer: {
            type: 'shadow'
        }
    },
    legend: {
        data: ['系列1', '系列2', '系列3']
    },
    grid: {
        left: '3%',
        right: '4%',
        bottom: '3%',
        containLabel: true
    },
    xAxis: {
        type: 'value'
    },
    yAxis: {
        type: 'category',
        data: ['類別1', '類別2', '類別3', '類別4', '類別5']
    },
    series: [
        {
            name: '系列1',
            type: 'bar',
            stack: '總量',
            data: [120, 132, 101, 134, 90]
        },
        {
            name: '系列2',
            type: 'bar',
            stack: '總量',
            data: [220, 182, 191, 234, 290]
        },
        {
            name: '系列3',
            type: 'bar',
            stack: '總量',
            data: [150, 232, 201, 154, 190]
        }
    ]
};

myChart.setOption(option);

3.1 配置解析

  • tooltip: 配置提示框,trigger: 'axis' 表示觸發方式為坐標軸觸發,axisPointer: { type: 'shadow' } 表示鼠標懸停時顯示陰影。
  • legend: 配置圖例,data 中的每一項對應一個系列的名稱。
  • grid: 配置圖表的位置和大小,containLabel: true 表示包含坐標軸的標簽。
  • xAxis: 配置 X 軸,type: 'value' 表示 X 軸為數值軸。
  • yAxis: 配置 Y 軸,type: 'category' 表示 Y 軸為類目軸,data 中的每一項對應一個類目。
  • series: 配置數據系列,type: 'bar' 表示柱狀圖,stack: '總量' 表示將多個系列堆疊在一起,data 中的每一項對應一個數據點。

4. 使用 markLine 添加標記線

markLine 是 Echarts 中用于在圖表中添加標記線的功能。我們可以通過 markLine 來標記某些特定的數據點或范圍。以下是如何在橫向堆疊柱狀圖中使用 markLine 的示例:

var option = {
    // 其他配置保持不變...
    series: [
        {
            name: '系列1',
            type: 'bar',
            stack: '總量',
            data: [120, 132, 101, 134, 90],
            markLine: {
                data: [
                    { type: 'average', name: '平均值' },
                    { yAxis: '類別3', name: '標記線' }
                ]
            }
        },
        {
            name: '系列2',
            type: 'bar',
            stack: '總量',
            data: [220, 182, 191, 234, 290]
        },
        {
            name: '系列3',
            type: 'bar',
            stack: '總量',
            data: [150, 232, 201, 154, 190]
        }
    ]
};

4.1 配置解析

  • markLine: 配置標記線,data 中的每一項表示一條標記線。
    • { type: 'average', name: '平均值' }: 表示在系列1的數據上添加一條表示平均值的標記線。
    • { yAxis: '類別3', name: '標記線' }: 表示在 Y 軸的 類別3 處添加一條標記線。

5. 完整示例

將上述配置整合在一起,完整的代碼如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Horizontal Stacked Bar Chart with markLine</title>
    <script src="https://cdn.jsdelivr.net/npm/echarts@5.3.2/dist/echarts.min.js"></script>
</head>
<body>
    <div id="main" style="width: 600px;height:400px;"></div>
    <script>
        var myChart = echarts.init(document.getElementById('main'));

        var option = {
            tooltip: {
                trigger: 'axis',
                axisPointer: {
                    type: 'shadow'
                }
            },
            legend: {
                data: ['系列1', '系列2', '系列3']
            },
            grid: {
                left: '3%',
                right: '4%',
                bottom: '3%',
                containLabel: true
            },
            xAxis: {
                type: 'value'
            },
            yAxis: {
                type: 'category',
                data: ['類別1', '類別2', '類別3', '類別4', '類別5']
            },
            series: [
                {
                    name: '系列1',
                    type: 'bar',
                    stack: '總量',
                    data: [120, 132, 101, 134, 90],
                    markLine: {
                        data: [
                            { type: 'average', name: '平均值' },
                            { yAxis: '類別3', name: '標記線' }
                        ]
                    }
                },
                {
                    name: '系列2',
                    type: 'bar',
                    stack: '總量',
                    data: [220, 182, 191, 234, 290]
                },
                {
                    name: '系列3',
                    type: 'bar',
                    stack: '總量',
                    data: [150, 232, 201, 154, 190]
                }
            ]
        };

        myChart.setOption(option);
    </script>
</body>
</html>

6. 總結

通過本文的介紹,我們了解了如何在 Echarts 中配置橫向堆疊柱狀圖,并使用 markLine 來添加標記線。Echarts 提供了豐富的配置選項,開發者可以根據實際需求靈活調整圖表的樣式和功能。希望本文能幫助你在實際項目中更好地使用 Echarts 進行數據可視化。

向AI問一下細節

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

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女