ECharts是一個基於JavaScript的開源可視化庫,可用於Web應用程序開發。ECharts官方提供的全要素的多種類型數據圖表支持,其中水球圖是一種較為特殊的圖表類型。可以基於ECharts水球圖來展示一個圓形對稱的圖表,具有很好的視覺吸引力和闡明數據的效果。
一、水球圖的基本概述
水球圖是一種引人注目的圖表類型,它通常用來描繪一個反映整體總量的數據。水球圖中心通常有一個實心圓,表示數據總量的佔比,外圈則是一個半透明的圓環,表示當前數據佔比的大小。熟悉ECharts的人會發現,水球圖事實上是一種特殊的儀錶盤,它在表達的數據方面和基於儀錶盤的數據可視化有很大的相似性。
水球圖將數據放入了一個圓環中,可通過滑鼠指針經過圓環時的滑過效果,即可詳細展開數據。使用ECharts創建水球圖的開發人員需要預先設定好幾個基本參數,例如數據範圍、顏色、半徑、邊框線條大小和樣式等。ECharts水球圖的基本屬性如下所示。
// 基本配置項
var option = {
series: [
{
type: 'liquidFill',
data: [0.6, 0.5, 0.4],
radius: '80%',
backgroundStyle: {
color: '#f2f2f2'
},
label: {
normal: {
formatter: '{c}%',
fontSize: 45,
color: '#1E90FF'
}
}
}
]
};
二、水球圖標識配置
水球圖中的標識配置是實現水球圖表格和數據顯示的關鍵參數之一,這些參數可影響圖表傳達信息的清晰性和表現力。創建ECharts水球圖的開發人員可以對自己的水球圖進行諸多標識配置,例如:
- 添加標識線,以增強圖表的直觀性;
- 對標識數據和文本進行格式化,增加交互感、觀賞性和美感;
- 可針對標識差距較大的數據進 行自適應性處理,即顯示較大數值時,將標識線和數據往外放,以防數據過於擠壓;反之,顯示較小數值時,將標識線和數據往內重疊,以減少佔用輪廓限定容量造成的空間浪費。
// 帶有標識配置的水球圖
var option = {
series: [
{
type: 'liquidFill',
data: [0.6, 0.5, 0.4],
label: {
normal: {
formatter: '活躍度:{c}',
fontSize: 40,
}
},
itemStyle: {
normal: {
color: '#2f7ed8',
shadowBlur: 50,
shadowColor: 'rgba(0, 0, 0, 0.2)',
label: {
show: false
}
}
},
backgroundStyle: {
borderColor: '#2f7ed8'
},
emphasis: {
itemStyle: {
opacity: 0.5
}
},
itemStyle: {
normal: {
color: new echarts.graphic.LinearGradient(
1, 0, 0, 1,
[
{offset: 0, color: '#24b6ef'},
{offset: 0.5, color: '#fff'},
{offset: 1, color: '#f2f2f2'}
]
),
opacity: 0.7,
shadowBlur: 40,
shadowColor: '#fff'
}
},
emphasis: {
itemStyle: {color: '#f2f2f2'}
}
}
]
};
三、多個水球圖的嵌套
實際數據分析展示中,只有一個水球圖是顯然不夠的。ECharts提供了可嵌套多個水球圖的功能,這種設計模式可以方便開發人員更加自由地展示和對比數據。多個水球圖的嵌套具有很強的表現力,可以通過多個圖表之間的對比,增強數據表達的可讀性。針對多個水球圖的嵌套功能,開發人員可以對每一個水球圖單獨設定參數,組合多組數據集成新的更為複雜的數據表達方式。
// 帶有嵌套功能的多個水球圖配置參數
var option = {
series: [
{
type: 'liquidFill',
data: [0.7, 0.6, 0.5],
color: ['rgba(0, 255, 225, 0.35)', 'rgba(0, 255, 225, 0.5)', 'rgba(0, 255, 225, 0.7)'],
center: ['25%', '50%'],
radius: '50%',
outline: {
itemStyle: {
borderColor: 'rgba(0, 255, 225, 0.2)',
borderWidth: 5,
borderType: 'solid',
shadowBlur: 20
}
},
label: {
normal: {
formatter: '{c}%',
fontSize: 30,
color: 'rgba(0,0,0,0.5)'
}
}
},
{
type: 'liquidFill',
data: [0.8, 0.7, 0.6],
center: ['50%', '50%'],
radius: '50%',
color: ['#87CEFA', '#00CED1', '#FF69B4'],
outline: {
itemStyle: {
borderColor: 'rgba(128, 128, 128, 1)',
borderWidth: 8,
borderType: 'solid',
shadowBlur: 20
}
},
label: {
normal: {
formatter: '{c}%',
fontSize: 30,
color: 'rgba(0,0,0,0.5)'
}
}
},
{
type: 'liquidFill',
data: [0.4, 0.3, 0.2],
center: ['75%', '50%'],
radius: '50%',
color: ['rgba(255,250,250,0.7)','rgba(255,250,250,0.6)','rgba(255,250,250,0.5)'],
outline: {
itemStyle: {
borderColor: 'rgba(255,250,250,0.2)',
borderWidth: 5,
borderType: 'solid',
shadowBlur: 20
}
},
label: {
normal: {
formatter: '{c}%',
fontSize: 30,
color: 'rgba(0,0,0,0.5)'
}
}
}
]
};
四、水球圖的局限性
雖然水球圖是一種非常具有表現力和可讀性的數據可視化類型,但同時也存在著它的局限性。其中最主要的一點就是,水球圖不能自由展示更為複雜的數據,例如100%的數據佔比,即一個實心圓,就無法通過水球圖來展示。此外,水球圖也不能夠清晰地展現數據的發展和變化趨勢,只能反映當前數據的佔比和變化關係,而無法表達更為深入的數據信息。
但是,不論其是否存在局限性,ECharts水球圖作為數據可視化展示的一種選擇,其表現力和吸引力是其他圖表所無法替代的。基於這種視覺上的呈現方式,ECharts水球圖可以被廣泛應用於基於數據分析領域中,如企業管理決策和金融、市場分析等領域。
原創文章,作者:NSGKO,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/371918.html