如何為echarts設置炫酷的柱狀圖顏色

一、 echarts簡介

Echarts是百度開源的一個數據可視化 JS 庫,可以用於網站或者大屏展示等多種場景中,使用 Echarts 可以方便快捷的製作出各種酷炫的可視化圖表。

Echarts 提供了多種類型的圖表,比如折線圖、柱狀圖、餅狀圖、地圖等,因此可以滿足不同場景的數據展示需求,但沒有炫酷的UI可能會讓讀者對圖表產生疲勞感,那麼如何為echarts設置炫酷的柱狀圖顏色呢?

二、 echarts設置柱狀圖顏色的方法

1. 單色漸變


var option = {
    xAxis: {
        type: 'category',
        data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
        axisLine: {show: false},
        axisTick: {show: false},
        axisLabel: {
            textStyle: {
                color: '#ffffff',//x坐標軸文字顏色
                fontSize: 14
            }
        }
    },
    yAxis: {
        type: 'value',
        axisLine: {show: false},
        axisTick: {show: false},
        axisLabel: {
            textStyle: {
                color: '#ffffff',//y坐標軸文字顏色
                fontSize: 14
            }
        },
        splitLine: {
            show: true,
            lineStyle:{
                color: ['#f7f7f7']//y坐標軸分割線顏色
            }
        }
    },
    series: [{
        data: [820, 932, 901, 934, 1290, 1330, 1320],
        type: 'bar',
        barWidth: 40,
        barGap: '10%',
        itemStyle: {
            normal: {
              color: new echarts.graphic.LinearGradient(
                0, 0, 0, 1,
                [
                  {offset: 0, color: '#029FBE'},//漸變色起點
                  {offset: 1, color: '#028090'}//漸變色終點
                ]
              ),
              barBorderRadius: [10, 10, 0, 0]//柱狀圖圓角
            }
        }
    }]
};

上述代碼中,使用了echarts中的graphic.LinearGradient進行單色漸變。其中offset是顏色的位置比例,color是顏色值。barBorderRadius設置圖形圓角。

2. 多色漸變


var option = {
    xAxis: {
        type: 'category',
        data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
        axisLine: {show: false},
        axisTick: {show: false},
        axisLabel: {
            textStyle: {
                color: '#ffffff',
                fontSize: 14
            }
        }
    },
    yAxis: {
        type: 'value',
        axisLine: {show: false},
        axisTick: {show: false},
        axisLabel: {
            textStyle: {
                color: '#ffffff',
                fontSize: 14
            }
        },
        splitLine: {
            show: true,
            lineStyle:{
                color: ['#f7f7f7']
            }
        }
    },
    series: [{
        data: [820, 932, 901, 934, 1290, 1330, 1320],
        type: 'bar',
        barWidth: 40,
        barGap: '10%',
        itemStyle: {
            normal: {
                color: function(params) {
                    var colorList = [
                        new echarts.graphic.LinearGradient(
                            0, 1, 0, 0,
                            [
                                {offset: 0, color: '#66B4DA'},
                                {offset: 1, color: '#05C3F9'}
                            ]
                        ),
                        new echarts.graphic.LinearGradient(
                            0, 1, 0, 0,
                            [
                                {offset: 0, color: '#66B4DA'},
                                {offset: 1, color: '#7EB7B1'}
                            ]
                        ),
                        new echarts.graphic.LinearGradient(
                            0, 1, 0, 0,
                            [
                                {offset: 0, color: '#7EB7B1'},
                                {offset: 1, color: '#AE9C9B'}
                            ]
                        ),
                        new echarts.graphic.LinearGradient(
                            0, 1, 0, 0,
                            [
                                {offset: 0, color: '#AE9C9B'},
                                {offset: 1, color: '#FFBA57'}
                            ]
                        ),
                        new echarts.graphic.LinearGradient(
                            0, 1, 0, 0,
                            [
                                {offset: 0, color: '#FFBA57'},
                                {offset: 1, color: '#E86567'}
                            ]
                        )
                    ];
                    return colorList[params.dataIndex]
                },
                barBorderRadius: [10, 10, 0, 0]
            }
        }
    }]
};

上述代碼中,使用了echarts中的graphic.LinearGradient進行多色漸變。其中color是顏色數組,params.dataIndex是數據索引。barBorderRadius設置圖形圓角。

3. 圖片填充

使用圖片填充柱狀圖背景色需要用到新版本的echarts,新版本的echarts使用了CanvasRenderer,可以對圖形進行更細緻的控制。


var option = {
    xAxis: {
        type: 'category',
        data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
        axisLine: {show: false},
        axisTick: {show: false},
        axisLabel: {
            textStyle: {
                color: '#ffffff',
                fontSize: 14
            }
        }
    },
    yAxis: {
        type: 'value',
        axisLine: {show: false},
        axisTick: {show: false},
        axisLabel: {
            textStyle: {
                color: '#ffffff',
                fontSize: 14
            }
        },
        splitLine: {
            show: true,
            lineStyle:{
                color: ['#f7f7f7']
            }
        }
    },
    series: [{
        data: [820, 932, 901, 934, 1290, 1330, 1320],
        type: 'bar',
        barWidth: 40,
        barGap: '10%',
        itemStyle: {
            normal: {
                color: {
                    image: new echarts.graphic.LinearGradient(
                        0, 0, 1, 0, [{
                            offset: 0,
                            color: '#4088FD'
                        }, {
                            offset: 1,
                            color: '#F0FBFF'
                        }]
                    ),
                    repeat: 'repeat'
                }
            }
        }
    }]
};

上述代碼中,使用了echarts中的graphic.LinearGradient進行圖片填充。其中image是圖片地址,repeat是重複方式。

三、 總結

本文介紹了如何為echarts設置炫酷的柱狀圖顏色,分別介紹了單色漸變、多色漸變和圖片填充的方法。在實際使用echarts進行數據可視化的過程中,需要根據實際需求選擇合適的方法,使得圖表更加飽滿、生動、有意義。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/243644.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 12:57
下一篇 2024-12-12 12:57

相關推薦

  • Echarts 地圖 Label 增加背景圖

    本文將從多個方面對 Echarts 地圖 Label 增加背景圖進行詳細的闡述。 一、背景圖的作用 為 Echarts 地圖添加背景圖可以使 Label 更加直觀、美觀,提升視覺效…

    編程 2025-04-29
  • Python設置print顏色

    無論是在學習Python語言還是在實際開發中,輸出結果都是非常關鍵的部分。Python內置的print()函數是最常用的輸出方法之一,而如何設置輸出結果的顏色,則是開發人員經常遇到…

    編程 2025-04-28
  • Python 如何填充背景顏色

    本文將從多個方面詳細闡述如何使用 Python 填充背景顏色。 一、使用 tkinter 庫 Python 的 tkinter 庫提供了豐富的圖形界面操作功能,包括填充背景顏色的功…

    編程 2025-04-28
  • Python設置圖形填充顏色為綠色的語句

    圖形設計是計算機科學中一個重要的分支,而Python語言也是最受歡迎的圖形設計語言之一。Python憑藉其易用性和開源特性,贏得了很多開發者和程序員的青睞。本文將圍繞如何設置Pyt…

    編程 2025-04-27
  • Python改背景顏色

    通過Python可以實現改變背景顏色這一功能,可以用於美化界面或者作為一種提示方式。 一、安裝必要的庫 在使用Python改變背景之前,需要先安裝必要的庫。 pip install…

    編程 2025-04-27
  • ECharts地圖輪播

    本文將從插件基礎、數據準備及處理、地圖呈現、輪播控制等方面,對ECharts地圖輪播進行詳細闡述。 一、插件基礎 ECharts官方提供了一個名為「echarts-gl」的插件,它…

    編程 2025-04-27
  • Python如何換顏色

    Python是一種高級編程語言,廣泛用於各種領域的軟體開發中。在開發過程中,我們通常需要對文本或圖形進行顏色修改,以實現更好的視覺效果。Python提供了許多庫和方法來實現顏色修改…

    編程 2025-04-27
  • Echarts 雙 Y 軸詳解

    一、什麼是雙 Y 軸 Echarts 雙 Y 軸是一種常見的圖表類型,它可以在同一張圖表中展示多個指標,每個指標都有自己的 Y 軸。這種圖表類型主要用於展示異構指標之間的關係,可以…

    編程 2025-04-25
  • 使用easyexcel設置單元格顏色的方法

    一、設置整個單元格的背景顏色 EasyExcel是一個開源的基於Java的Excel讀寫解決方案,我們可以通過它的API來設置Excel的單元格的樣式。要設置整個單元格的背景顏色,…

    編程 2025-04-24
  • ECharts柱狀圖間隔完全指南

    ECharts是一個非常強大的JavaScript圖表庫,它提供了豐富的可定製化配置選項以及良好的兼容性。其中,柱狀圖是一種非常常見的圖表類型,同時也是ECharts中功能齊全的圖…

    編程 2025-04-24

發表回復

登錄後才能評論