美文网首页
echarts中的小小小小坑(一)

echarts中的小小小小坑(一)

作者: Sol_elY | 来源:发表于2018-08-31 14:33 被阅读0次

   前言:其实学习和使用echarts已经有一段时间了,本来打算边学边记录自己的学习经过,奈何计划赶不上变化(懒,更新随缘)。
   首先,当然是附上官网:echarts。老实说学习任何东西,看再多的教程都不如细读一遍官方文档。如果不是只要求实现效果,还是建议去研读官方的东西。
   这篇文章不会详细介绍echarts的东西,只是简单总结了我使用过程中遇到的一些小问题,目的在于提醒自己不要在一个坑跌倒两次。
   环境:react+node.js+echarts

1.关于echarts的使用

   echarts的绘制在页面渲染之后,即必须存在真实的节点之后,echarts才能正常绘制,从react的角度来说,就是得在componentDidMount()这个生命周期以及之后的生命周期中调用echarts:

  componentDidMount() {
        let data=this.props.data;
        if(data!=undefined){
            this.barChart(data,0);
        }
    }

  如果在页面渲染之前(如 componentDidMount())调用,就会报如下错误:

错误
  另外,如果你想重绘echarts,请使用myChart.setOption(option)函数。
  最后一点,绑定echarts的节点必须具有具体的宽高,否则,它会默认100px*100px的宽高进行绘制。

2.echarts部分配置项

  详细的配置项请移步官方配置文档

2.1 grid(网格)

  grid常用于多个图表,并且需要对每个图的位置进行调整,比如这种情况

多图表
  重点:grid请配合xAxis、yAxis使用:
grid: [{
        //左上图
        x: '7%',//值越大越靠右
        y: '7%',//值越大越靠下
        width: '38%',
        height: '38%'
    }, {
        //右上图
        x2: '7%',//值越大越靠左
        y: '7%',
        width: '38%',
        height: '38%'
    }, {
        //左下图
        x: '7%',
        y2: '7%',//值越大越靠上
        width: '38%',
        height: '38%'
    }, {
        //右下图
        x2: '7%',
        y2: '7%',
        width: '38%',
        height: '38%'
    }],
    xAxis: [{
        gridIndex: 0,
    }, {
        gridIndex: 1,
    }, {
        gridIndex: 2,
    }, {
        gridIndex: 3,
    }],
    yAxis: [{
        gridIndex: 0,
    }, {
        gridIndex: 1,
    }, {
        gridIndex: 2,
    }, {
        gridIndex: 3,
    }],
    series: [{
        ...
        xAxisIndex: 0,//x、y一一匹配,0,1这样的组合是不行的
        yAxisIndex: 0,
        ...
    }, {
        ...
        xAxisIndex: 1,
        yAxisIndex: 1,
        ...
    }, {
        ...
        xAxisIndex: 2,
        yAxisIndex: 2,
        ...
    }, {
       ...
        xAxisIndex: 3,
        yAxisIndex: 3,
      ...
    }]

  当然,如果对图的位置没有需求,请不要大意的使用xAxis、yAxis吧。

2.2 formatter自定义文本

  这是一个相当常用的属性,通过它,我们可以实现各种各样的文本展示。

2.2.1 字符串模板

  常用的模板变量:
{a}:系列名
{b}:数据名
{c}:数据值
{d}:数据百分比
用法:formatter:'{b}:{c}'

2.2.2 回调函数

  利用它可以实现个性化文本(很重要)。

formatter:function(params){
        console.info(params)//里面存有我们可能会用到所有数据,当你不知道怎么取时,请输出来看一看
        return params.value
}

文本丰富了,样式自然也有可能要求个性化,所以formatter搭配rich使用效果更佳:

label: {
    // 在文本中,可以对部分文本采用 rich 中定义样式。
    // 这里需要在文本中使用标记符号:
    // `{styleName|text content text content}` 标记样式名。
    // 注意,换行仍是使用 '\n'。
    formatter: [
        '{a|这段文本采用样式a}',
        '{b|这段文本采用样式b}这段用默认样式{x|这段用样式x}'
    ].join('\n'),

    rich: {
        a: {
            color: 'red',
            lineHeight: 10
        },
        b: {
            backgroundColor: {
                image: 'xxx/xxx.jpg'
            },
            height: 40
        },
        x: {
            fontSize: 18,
            fontFamily: 'Microsoft YaHei',
            borderColor: '#449933',
            borderRadius: 4
        },
        ...
    }
}

相关文章

  • echarts中的小小小小坑(一)

       前言:其实学习和使用echarts已经有一段时间了,本来打算边学边记录自己的学习经过,奈何计划赶不上变化(懒...

  • 【小小屋】坑

    有个农夫住在路边上。 尽管这不是繁忙路段,但有时也有汽车从农场路过。 农场大门旁边的路上有个大坑。这个坑里总是充满...

  • 五一小小小小小小小小小长假的PPPPPPPPlog

    4/29 4/30 晚上拼乐高拼了一半就去睡觉了,一觉起来发现我弟给我把乐高分好类了。 帮师妹们找了我当时的材料,...

  • 【小小小小小小小小说】

    一面笑一面淌淚把信撕得粉碎隨風灑進冷漠的海洋 沙灘上深深的足印早已湮滅而遠方細碎的星星經過億萬光年卻依舊閃過不停 ...

  • 睡前故事(一)小小小小小恐龙

    从前有一只小小小小小恐龙,没错是小小小小小恐龙,有一天趁妈妈不在家跑出去玩,玩得可开心了,晚上看妈妈快回家了他就着...

  • 小小小小

    1 穿越 美国的某一条街上,一个有着一头微卷的金...

  • 小小小小

    带上眼罩 所有的梦开始变小 要怎么推敲 我一直深陷对酒过敏的迷惘 始终不明真相的美妙 如今只剩抽象 接下来加盐风干...

  • 周末中《小小小小的火》(110/200)

    在周五的红酒微醺中入睡,周六起床有点懵,节奏有点乱,甚至有些怀疑自己,手机上我弟的消息:生活,虽然难,总能过。暖男...

  • 小小的小小(一)

    小小她败了,败的一踏涂地。::>_<:: 长衣外套的一角,被她用手紧紧地攥住,旁边的人没有发现这个...

  • 【iOS】一个近乎完美解决UISwitch的bug的方案

    背景 虽然我知道iOS的控件都会有大大小小的坑,但我之前却一直不知道连小小的UISwitch也会有那么大的坑。。。...

网友评论

      本文标题:echarts中的小小小小坑(一)

      本文链接:https://www.haomeiwen.com/subject/mulswftx.html