echarts 柱状图 横坐标文字纵向展示(超出显示...)

echarts 柱状图 横坐标文字纵向展示(超出显示…)

用到方法:

value.split("")

话不多说,上代码:

import React, { Component } from 'react';
import ReactEcharts from 'echarts-for-react';
import _ from 'lodash';
import { INIT_DATA } from '../initData';
import styles from './index.less';
export default class OsChart extends Component {
  constructor(props) {
    super(props);
    this.state = {};
  }
  getOsChartOption = () => {
    const { dataSource } = this.props;
    let xAxisData = _.keys(dataSource).sort((a, b) => { return dataSource[b] - dataSource[a] });
    let series = [];
    for (let i = 0; i < xAxisData.length; i++) {
      series.push([xAxisData[i], dataSource[xAxisData[i]]]);
    }
    let option = {
      // color: ['#16aaff', '#0ca7ff'],
      color: ['#16aaff'],
      tooltip: {
        trigger: 'axis',
        // formatter: '{b}: {c}',
      },
      grid: {
        //设置图表撑满整个画布
        top: '35px',
        left: '30px',
        right: '70px',
        bottom: '15px',
        containLabel: true,
      },
      xAxis: [
        {
          type: 'category',
          // name: INIT_DATA.SearchParams[2],   // 名称
          data: xAxisData,
          axisLabel: {
            show: true,
            // interval: 0,
            textStyle: {
              fontSize: 12,
            },
            formatter: function (value) {
              //x轴的文字改为竖版显示
              var str = value.split("");
              return str.slice(0, 4).join("\n") +  (str.length > 4 ? '\n...' : '');
            },
            // rotate: -90,
          },
        },
      ],
      yAxis: {
        splitLine: {
          show: true,
        },
        type: 'value',
        name: INIT_DATA.AxisName[1], // 名称
        min: 0,
      },
      series: [
        {
          data: series,
          type: 'bar',
          // itemStyle: {
          // normal: {
          //   color: function (params) {
          //     let colors = ['#0ca7ff', '#00e1d9'];
          //     let x = params.dataIndex % 2 === 0 ? 1 : 2;
          //     if (x === 1) {
          //       return colors[0];
          //     } else {
          //       return colors[1];
          //     }
          //   },
          // },
          // },
        },
      ],
    };
    return option;
  };

  render() {
    return (
      <ReactEcharts
        className={styles.contentLayout}
        option={this.getOsChartOption()}
        notMerge={true}
        theme="theme"
      />
    );
  }
}
效果

横坐标文字纵向排列

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值