echarts柱状图 x轴名字太长处理

// 如果x轴名字太长,echarts会隔断展示,一下是处理方案
// 1.强制展示所有x轴名称 ,名称长度大于4,显示为省略号,鼠标滑过显示全部
import React, { useEffect, useRef } from 'react'
import * as echarts from 'echarts'

const CarTypeEcharts = (props) => {
    const chartRef = useRef()
    console.log(props)


    useEffect(() => {
        console.log(props)

        const options = {
            grid: {
                // 左右边距
                left: 50,
                bottom: 30,
                top: 10,
            },
            tooltip: {
                //鼠标悬浮提示数据
                formatter: '{b}:{c}'
            },
            xAxis: {
                type: 'category',
                data: props?.info[0],
                axisTick: {
                    show: false,
                },
                // axisLabel: {
                //     interval: 0
                // }
                axisLabel: {
                    margin: 8,
                    interval: 0, // 强制显示所有名称
                    formatter: function (params) {
                        var val = "";
                        // 超过四个字隐藏
                        if (params.length > 4) {
                            val = params.substr(0, 4) + '...';
                            return val;
                        } else {
                            return params;
                        }
                    }
                }
            },
            yAxis: {
                type: 'value',
                splitLine: {
                    //分割线配置
                    show: true,
                    lineStyle: {
                        color: "rgba(48,170,219,0.15)",
                    },
                },
                axisLabel: {
                    //y轴文字的配置
                    textStyle: {
                        color: "#ffffff",
                        margin: 15,
                    },
                }
            },
            series: [
                {
                    data: props?.info[1],
                    type: 'bar',
                    smooth: true,
                    barWidth: 25,
                    itemStyle: {
                        normal: {
                            barBorderRadius: 5,
                            color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
                                offset: 0,
                                color: '#FFB264'
                            }, {
                                offset: 1,
                                color: '#33FFE5'
                            }]),
                        },
                    },
                }
            ]
        };
        // 创建一个echarts实例,返回echarts实例。不能在单个容器中创建多个echarts实例
        const chart = echarts.init(chartRef.current)

        // 设置图表实例的配置项和数据
        chart.setOption(options)

        // 组件卸载
        return () => {
            // myChart.dispose() 销毁实例。实例销毁后无法再被使用
            chart.dispose()
        }
    }, [props])

    return (
        // 把图表封装单独放入一个组件中
        <div style={{ width: "100%", height: "70%" }} ref={chartRef}></div>
    )
}
export default CarTypeEcharts



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值