最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

react hooks使用Echarts圖表中遇到的情況及相關(guān)配置問(wèn)題

 更新時(shí)間:2024年03月14日 08:56:24   作者:小劉加油!  
這篇文章主要介紹了react hooks使用Echarts圖表中遇到的情況及相關(guān)配置問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

前言

項(xiàng)目開(kāi)發(fā)中,需要做一個(gè)報(bào)表功能,看了下UI圖,初步定下使用 echarts,不過(guò)之前使用 echarts 都是在 Vue2Vue3 框架下開(kāi)發(fā),第一次使用 react-hooks 開(kāi)發(fā) echarts,將流程及一些 相關(guān)配置 寫個(gè)隨筆記錄下。

1、 下載 echarts 包

npm install echarts --save

2、引入eaharts

import * as echarts from 'echarts' // 引入 echarts 核心模塊

注意:

  • 上面的引入寫法是 echarts V5版本的寫法,因?yàn)橄螺d默認(rèn)下載 V5版本
  • 如果需要按需引入,請(qǐng)參考echarts 官網(wǎng)

效果圖如下所示:

3、使用

import * as echarts from 'echarts' // 引入 echarts 核心模塊

const index = () => {
	const initChart = () => {
		let chartDom: any = document.getElementById('chart')
        let myChart = echarts.init(chartDom)
        myChart.clear()
        let option:any = null
        option = {
            tooltip: {
                trigger: 'axis',
                axisPointer: {
                    type: 'shadow'
                }
            },
            title: {
                show: true,
                text: '各廠手續(xù)辦理數(shù)量總覽',
                left: 10,
                top: 10,
            },
            dataZoom: [
                {
                    type: 'slider',  // slider 代表有滑塊,inside 代表內(nèi)置,左右滑動(dòng)
                    id: 'dataZoomX',
                    start: 0, // 數(shù)據(jù)窗口范圍的起始百分比。范圍是:0 ~ 100。表示 0% ~ 100%。
                    show: true,  // 是否顯示下方滾動(dòng)條,默認(rèn)為true
                    realtime: true,   // 是否實(shí)時(shí)更新
                    minValueSpan: 5,  // 顯示數(shù)據(jù)的最小條數(shù)
                    maxValueSpan: 10,  //顯示數(shù)據(jù)的最大條數(shù)
                    

                    fillerColor: "#CED4DD", //滑動(dòng)塊的顏色

                    xAxisIndex: [0],  // 表示這個(gè) dataZoom 組件控制 第一個(gè) xAxis
                    handleSize: 0, //滑動(dòng)條的 左右2個(gè)滑動(dòng)條的大小
                    height: 10, //組件高度
                    bottom: 0, // 控制滾動(dòng)條距離底部的位置;
                    borderColor: "#FAFAFA",  // 邊框顏色
                    
                    backgroundColor: "#FAFAFA", //兩邊未選中的滑動(dòng)條區(qū)域的顏色
                    showDataShadow: false, //是否顯示數(shù)據(jù)陰影 默認(rèn)auto
                    showDetail: false, //即拖拽時(shí)候是否顯示詳細(xì)數(shù)值信息 默認(rèn)true
                    filterMode: "filter",
                    brushSelect: false  // 滾動(dòng)條上面的陰影
                }
            ],
            legend: {
                top: 10,
                right: 20
            },
            grid: {
                left: '3%',
                right: '4%',
                bottom: '3%',
                containLabel: true
            },
            xAxis: [
                {
                    type: 'category',
                    data: [], // 數(shù)組-數(shù)據(jù)
                    axisLabel: {
                        interval: 0,
                    },
                }
            ],
            yAxis: [
                {
                    type: 'value',
                    // splitNumber: 5   // Y軸坐標(biāo)精度,默認(rèn)為5
                }
            ],
            series: [
                {
                    name: '已完成',
                    type: 'bar',
                    stack: 'overlap',
                    label: {
                        show: true,
                        position: 'inside'
                    },
                    emphasis: {
                        focus: 'series'
                    },
                    data: [], 數(shù)組-數(shù)據(jù)
                    itemStyle: {
                        color: '#0194FE'
                    }
                },
                {
                    name: '辦理中',
                    type: 'bar',
                    stack: 'overlap',
                    emphasis: {
                        focus: 'series'
                    },
                    label: {
                        show: true,
                        position: 'inside'
                    },
                    data: [], 數(shù)組-數(shù)據(jù)
                    itemStyle: {
                        color: '#5CDBD3'
                    }
                },
                {
                    name: '未辦理',
                    type: 'bar',
                    stack: 'overlap',  // stack: 'Ad', 好像也有同樣效果
                    emphasis: {
                        focus: 'series'
                    },
                    label: {
                        show: true,
                        position: 'inside'
                    },
                    data: [], 數(shù)組-數(shù)據(jù)
                    itemStyle: {
                        color: '#FFC53D'
                    }
                },
            ]
        };

        myChart.resize()
        option && myChart.setOption(option);

        // 這個(gè)點(diǎn)擊事件只限制于 點(diǎn)擊柱形中有數(shù)據(jù)的部分,沒(méi)有數(shù)據(jù)的部分,點(diǎn)擊無(wú)效
        myChart.on('click', function(params: any) {
            handleGetBottomList(params.name, params.seriesName)
        })
	}
	
	useEffect( () => {
		initChart()
	})

	return (
		<div id='chart'></div>
	)
}

相關(guān)參數(shù)配置

1. 形成堆疊柱狀圖

series 配置中,將每一個(gè)柱的對(duì)象,其中的 stack 參數(shù),設(shè)置成一樣的 ‘overlap’ / ‘Ad’

2. 設(shè)置右上方的表頭的位置

3. 設(shè)置echarts 柱狀圖 橫向滾動(dòng)

4. X軸坐標(biāo) label 文字過(guò)長(zhǎng),無(wú)法顯示

  • interval:間隔 每個(gè)坐標(biāo)之間的間隔,正常顯示設(shè)置 0 就可以了。
  • rotate:偏移,也可以說(shuō)是傾斜。值是number類型,視情況而定。

如果使用了偏移,可能會(huì)出現(xiàn)新的問(wèn)題,就是左右邊距不夠文字會(huì)被遮擋一部分,這時(shí)候可以進(jìn)行如下配置。

grid: {
    left:"20%",   //grid 組件離容器左側(cè)的距離
    right:"30px", //grid 組件離容器右側(cè)的距離
    bottom:"20%"  //grid 組件離容器下邊距的距離
}

5. 點(diǎn)擊柱狀圖,調(diào)用方法

如果項(xiàng)目開(kāi)發(fā)中有這樣的需求:

點(diǎn)擊某一個(gè)柱狀圖,調(diào)用接口獲取柱狀圖的某些數(shù)據(jù),可以進(jìn)行這樣操作:

 myChart.on('click', function(params: any) {
       // params 為柱狀圖的參數(shù) 
       // 如果是普通柱狀圖,使用 params.name (對(duì)應(yīng)的x軸label) 參數(shù)
       // 如果是折疊柱狀圖,使用 params.name   params.seriesName (對(duì)應(yīng)的屬性)
       // 如果還需要什么參數(shù),可以打印 params 查找
       console.log('params', params)
 })

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • react中antd Upload手動(dòng)上傳的示例

    react中antd Upload手動(dòng)上傳的示例

    本文主要介紹了react中antd Upload手動(dòng)上傳的示例,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • 每天一個(gè)hooks學(xué)習(xí)之useUnmount

    每天一個(gè)hooks學(xué)習(xí)之useUnmount

    這篇文章主要為大家介紹了每天一個(gè)hooks學(xué)習(xí)之useUnmount,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05
  • React配置代理方式(proxy)

    React配置代理方式(proxy)

    這篇文章主要介紹了React配置代理方式(proxy),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • 淺談react 同構(gòu)之樣式直出

    淺談react 同構(gòu)之樣式直出

    這篇文章主要介紹了淺談react 同構(gòu)之樣式直出,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-11-11
  • React-RouterV6+AntdV4實(shí)現(xiàn)Menu菜單路由跳轉(zhuǎn)的方法

    React-RouterV6+AntdV4實(shí)現(xiàn)Menu菜單路由跳轉(zhuǎn)的方法

    這篇文章主要介紹了React-RouterV6+AntdV4實(shí)現(xiàn)Menu菜單路由跳轉(zhuǎn),主要有兩種跳轉(zhuǎn)方式一種是編程式跳轉(zhuǎn)另一種是NavLink鏈接式跳轉(zhuǎn),每種方式通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-08-08
  • ReactQuery?渲染優(yōu)化示例詳解

    ReactQuery?渲染優(yōu)化示例詳解

    這篇文章主要為大家介紹了ReactQuery?渲染優(yōu)化示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • React?事件綁定的最佳實(shí)踐

    React?事件綁定的最佳實(shí)踐

    本文主要介紹了移動(dòng)端點(diǎn)擊事件的300ms延遲問(wèn)題,并詳細(xì)的介紹了三種解決方法,具有一定的參考價(jià)值,感興趣的可以了解一下
    2025-03-03
  • React如何使用Portal實(shí)現(xiàn)跨層級(jí)DOM渲染

    React如何使用Portal實(shí)現(xiàn)跨層級(jí)DOM渲染

    Portal 就像是一個(gè)“傳送門”,能讓你把組件里的元素“傳送到”其他 DOM 節(jié)點(diǎn)下面去渲染,下面小編就來(lái)和大家簡(jiǎn)單介紹一下具體的使用方法吧
    2025-04-04
  • React實(shí)現(xiàn)卡片拖拽效果流程詳解

    React實(shí)現(xiàn)卡片拖拽效果流程詳解

    這篇文章主要介紹了React Web開(kāi)發(fā)實(shí)戰(zhàn)示例,實(shí)現(xiàn)卡片拖拽效果,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧
    2022-11-11
  • react-pdf實(shí)現(xiàn)將pdf文件轉(zhuǎn)為圖片,用于頁(yè)面展示

    react-pdf實(shí)現(xiàn)將pdf文件轉(zhuǎn)為圖片,用于頁(yè)面展示

    這篇文章主要介紹了react-pdf實(shí)現(xiàn)將pdf文件轉(zhuǎn)為圖片,用于頁(yè)面展示問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-07-07

最新評(píng)論

扎赉特旗| 周宁县| 龙川县| 清徐县| 开阳县| 句容市| 乐业县| 仪征市| 镇巴县| 东乡| 泌阳县| 张北县| 龙山县| 河西区| 九龙县| 禄丰县| 广河县| 乌兰浩特市| 万盛区| 庄浪县| 丽水市| 岑巩县| 海淀区| 灵宝市| 龙南县| 香港| 南川市| 长寿区| 兖州市| 泰顺县| 驻马店市| 陇南市| 如皋市| 乡宁县| 精河县| 阳山县| 黎平县| 余姚市| 北流市| 当阳市| 察隅县|