一、echartsgrid屬性及其概念
// 代碼示例 grid: { left: '3%', right: '4%', bottom: '3%', containLabel: true }, xAxis: { type: 'category', data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'] }, yAxis: { type: 'value' }, series: [{ data: [120, 200, 150, 80, 70, 110, 130], type: 'bar', itemStyle: { normal: { color: function(params) { // 顏色自定義 var colorList = ['#C1232B','#B5C334','#FCCE10','#E87C25','#27727B', '#FE8463','#9BCA63','#FAD860','#F3A43B','#60C0DD', '#D7504B','#C6E579','#F4E001','#F0805A','#26C0C0' ]; return colorList[params.dataIndex]; } } } }]
echartsgrid是echarts中的一種概念,它是echarts中一個二維直角坐標系,用戶通過設置該屬性來控制直角坐標系各個方面的展示。在默認情況下,echarts會自動根據圖表的大小、軸標籤的長度、軸線等因素來優化二維直角坐標系的大小及其位置。
二、echartsgrid屬性的基礎設置
基礎設置包括echartsgrid的直角坐標系內邊界邊距、坐標系外邊界邊距、containLabel、軸線顯示等等。
1.邊距設置
echarts提供了四種邊距的設置方式,分別是:left、right、top、bottom。通過這些屬性可以控制直角坐標系左、右、上、下四個方向的邊距大小。這裡的數值設置可以是像素值也可以是百分比值。
// 代碼示例 getOption() { return { title: { text: '某地區蒸發量和降水量' }, tooltip: {}, legend: { data: ['蒸發量', '降水量'] }, grid: { left: '3%', // 左邊距,string類型 right: '4%', // 右邊距,string類型 bottom: '3%', // 下邊距,string類型 containLabel: true // 包含軸標籤文本等圖形元素,默認為false }, xAxis: { data: [] }, yAxis: {}, series: [{ name: '蒸發量', type: 'bar', data: [] }, { name: '降水量', type: 'bar', data: [] }] } },
2.containLabel
在默認情況下,echarts會根據圖表的大小、軸標籤的長度、軸線等因素來優化二維直角坐標系的大小及其位置。但是在echarts中,軸標籤的文本內容和軸線並不是二維直角坐標系中唯一的圖形元素。如果用戶需要讓圖表中所有內容全部展示在echartsgrid的範圍內,那麼可以設置屬性containLabel為true,表示所有的圖形元素都包含在直角坐標系內,即所有的標籤、數值顯示等都不會超出直角坐標系的範圍。
// 代碼示例 getOption() { return { title: { text: '某地區蒸發量和降水量' }, tooltip: {}, legend: { data: ['蒸發量', '降水量'] }, grid: { left: '3%', right: '4%', bottom: '3%', containLabel: true // 包含軸標籤文本等圖形元素,默認為false }, xAxis: { data: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], }, yAxis: {}, series: [{ name: '蒸發量', type: 'bar', data: [2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3] }, { name: '降水量', type: 'bar', data: [2.6, 5.9, 9.0, 26.4, 28.7, 70.7, 175.6, 182.2, 48.7, 18.8, 6.0, 2.3] }] } },
3.軸線顯示
二維直角坐標系的軸線可以顯示也可以隱藏,可以設置echartsgrid的屬性如下:
// 代碼示例 grid: { show: true // 是否顯示坐標軸,默認為true },
三、echartsgrid的高級設置
除了基礎設置外,echartsgrid提供了一些高級設置供用戶使用。這些高級設置包括:刻度的長度、互相影響的軸、只顯示某個軸等。
1.刻度長度設置
在echarts中,坐標軸的刻度線有兩段長度,一段為inside,即向內的長度,另一段為outside,即向外的長度。可以通過axisLine屬性中同時設置lineStyle屬性的屬性,以控制刻度線的長度。
// 代碼示例 xAxis: { axisLine: { lineStyle: { color: 'gray', width: 2, type: 'solid' } }, axisTick: { alignWithLabel: true } }, yAxis: { axisLine: { lineStyle: { color: 'gray', width: 2, type: 'solid' } } }
2.互相影響的軸
在某些情況下,某些軸的取值範圍會受到其他軸的取值範圍的影響,比如同時展現兩個柱狀圖,一個展示公司產值,一個展示員工人數。如果這兩張圖形的橫坐標軸都是月份,那麼兩張圖形展示的月份應該一致,否則月份不一致會帶來很大的誤差和困擾。解決這個問題有兩種方法:
方法一:使用dataZoom組件。dataZoom組件可以用來區域縮放。
// 代碼示例 dataZoom: { xAxis: { type: 'inside' }, yAxis: { type: 'inside' } },
方法二:使用visualMap組件。visualMap組件包含了一個或多個大小不一的組件來視覺表示數據範圍,可以通過設定position屬性顯示在不同位置。
// 代碼示例 visualMap: { type: 'continuous', dimension: 0, seriesIndex: 0, min: 0, max: 1000, color: ['#FF4444', '#44FFB2'], bottom: 20, left: 10 }
3.只顯示某個軸
在某些情況下,僅需要顯示某個軸,可以通過axisLabel和axisTick的設置來僅顯示某個軸。
// 代碼示例 xAxis: { axisLine: { show: false }, axisTick: { show: false }, axisLabel: { show: true } },
四、總結
在echarts中,echartsgrid是非常重要的一個概念,通過對echartsgrid的設置,可以完全控制圖表的展示效果,從直角坐標系的大小及其位置到軸標籤的格式和刻度的長度等等內容都可以進行設置和調整。以上就是echartsgrid屬性的詳細介紹,希望對大家有所幫助。
原創文章,作者:CHBHA,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/317104.html