一、ECharts簡介
ECharts是百度前端開源團隊基於HTML5 Canvas,提供直觀、生動、可交互數據可視化圖表庫,旨在為數據分析提供一個簡單友好的顯示方式。
該庫提供了豐富的圖標類型,並且支持移動端、響應式布局,同時還有良好的社區支持以及詳細的文檔說明。
ECharts已經成為當前前端領域最流行的數據可視化工具之一。
二、ECharts的基本使用
使用ECharts,需要先引入官網提供的echarts.js文件。
<script src="https://cdnjs.cloudflare.com/ajax/libs/echarts/5.1.1/echarts.min.js"></script>
然後在需要使用圖表的元素中定義div
標籤,並設置寬、高屬性。
<div id="chart" style="width: 600px; height:400px;"></div>
接着,用JavaScript代碼初始化ECharts。
var chartDom = document.getElementById('chart');
var myChart = echarts.init(chartDom);
var option;
接下來,我們可以配置option來定義我們的圖表類型、樣式等參數。
option = {
title: {
text: '數據可視化示例'
},
tooltip: {},
legend: {
data:['銷量']
},
xAxis: {
data: ["襯衫","羊毛衫","雪紡衫","褲子","高跟鞋","襪子"]
},
yAxis: {},
series: [{
name: '銷量',
type: 'bar',
data: [5, 20, 36, 10, 10, 20]
}]
};
最後,使用setOption函數將option作為參數傳入,畫出我們的圖表。
option && myChart.setOption(option);
三、ECharts實現更具可視化效果的數據呈現方式
1. 熱力圖展示
熱力圖是一種用色彩直觀地顯示數據密度的圖表,可呈現大量數據的分布。
下面是一個熱力圖的展示代碼示例。
option = {
title: {
text: '熱力圖示例'
},
tooltip: {},
visualMap: {
min: 0,
max: 100,
calculable: true,
orient: 'horizontal',
left: 'center',
bottom: 'bottom'
},
series: [{
type: 'heatmap',
data: [[0,0,10],[0,1,20],[0,2,30],...,[9,9,100]],
label: {
show: true
}
}]
};
option && myChart.setOption(option);
2. 餅圖展示
餅圖是一種用圓形的扇形區域面積表示各種數據佔比的圖表,可通過餅圖直觀地顯示數據的相對大小。
下面是一個餅圖的展示代碼示例。
option = {
title: {
text: '餅圖示例'
},
tooltip: {},
legend: {
top: 'bottom'
},
series: [{
name: '銷量',
type: 'pie',
radius: '50%',
data: [
{value: 335, name: '直接訪問'},
{value: 310, name: '郵件營銷'},
{value: 234, name: '聯盟廣告'},
{value: 135, name: '視頻廣告'},
{value: 1548, name: '搜索引擎'}
]
}]
};
option && myChart.setOption(option);
3. 折線圖展示
折線圖是一種通過連接不同數據點形成折線來呈現數據變化趨勢的圖表,可通過折線圖直觀地展示數據的變化趨勢。
下面是一個折線圖的展示代碼示例。
option = {
title: {
text: '折線圖示例'
},
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'cross'
}
},
legend: {
data:['郵件營銷','聯盟廣告','視頻廣告','直接訪問','搜索引擎']
},
xAxis: {
type: 'category',
data: ['周一','周二','周三','周四','周五','周六','周日']
},
yAxis: {
type: 'value'
},
series: [
{
name:'郵件營銷',
type:'line',
data:[120, 132, 101, 134, 90, 230, 210]
},
{
name:'聯盟廣告',
type:'line',
data:[220, 182, 191, 234, 290, 330, 310]
},
{
name:'視頻廣告',
type:'line',
data:[150, 232, 201, 154, 190, 330, 410]
},
{
name:'直接訪問',
type:'line',
data:[320, 332, 301, 334, 390, 330, 320]
},
{
name:'搜索引擎',
type:'line',
data:[820, 932, 901, 934, 1290, 1330, 1320]
}
]
};
option && myChart.setOption(option);
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/279075.html