js echarts使用百分比显示数据 echarts使用配置

js echarts使用百分比显示数据 echarts使用配置

这个是最终效果,其实这个还是比较简单的,贴一下代码,然后把最主要的两个地方说一下:

let dom = document.getElementById("main");
let myChart = echarts.init(dom);
let option = {
    title: {
        text: '折线图堆叠'
    },
    tooltip: {
        trigger: 'axis',
        formatter: '{b0}<br/>{a0}: {c0}%<br />{a1}: {c1}%<br />{a2}: {c2}%<br />{a3}: {c3}%'
    },
    legend: {
        data:['1PD0','2PD0','3PD0','4PD0']
    },
    grid: {
        left: '3%',
        right: '4%',
        bottom: '3%',
        containLabel: true
    },
    xAxis: {
        type: 'category',
        boundaryGap: false,
        data: ['Jan-18','Feb-18','Mar-18','Apr-18','May-18','Jun-18','Jul-18','Aug-18']
    },
    yAxis: {
        type: 'value',
        axisLabel: {
            show: true,
            interval: 'auto',
            formatter: '{value}%'
        },
        show: true
    },
    series: [
        {
            name:'1PD0',
            type:'line',
            data:[37.39,33.33,44.29,39.27,54.01,68.16,78.33],
        },
        {
            name:'2PD0',
            type:'line',
            data:[30.43,29.41,52.86,69.86,72.09,50],
        },
        {
            name:'3PD0',
            type:'line',
            data:[26.09,42.86,60.94,71.63,69.41],
        },
        {
            name:'4PD0',
            type:'line',
            data:[30.43,40.82,56.25,76.92,58.97],
        }
    ]
};
myChart.setOption(option, true);

主要代码,大部分都是echart官网上扒的,其中tooltip的formatter是设置那个划过提示框的显示内容的,formatter有几项配置,给大家从官网粘一下方便看:

模板变量有 {a}{b}{c}{d}{e},分别表示系列名,数据名,数据值等。 在 trigger 为 'axis' 的时候,会有多个系列的数据,此时可以通过 {a0}{a1}{a2} 这种后面加索引的方式表示系列的索引。 不同图表类型下的 {a}{b}{c}{d} 含义不一样。 其中变量{a}{b}{c}{d}在不同图表类型下代表数据含义为:

  • 折线(区域)图、柱状(条形)图、K线图 : {a}(系列名称),{b}(类目值),{c}(数值), {d}(无)

  • 散点图(气泡)图 : {a}(系列名称),{b}(数据名称),{c}(数值数组), {d}(无)

  • 地图 : {a}(系列名称),{b}(区域名称),{c}(合并数值), {d}(无)

  • 饼图、仪表盘、漏斗图: {a}(系列名称),{b}(数据项名称),{c}(数值), {d}(百分比)

更多其它图表模板变量的含义可以见相应的图表的 label.formatter 配置项。

示例:

formatter: '{b0}: {c0}<br />{b1}: {c1}'
 

相信看到这里就知道我写的是啥意思了,这个是设置显示的时候的百分比,还有设置左面label的百分比提示:

yAxis: { type: 'value', axisLabel: { show: true, interval: 'auto', formatter: '{value}%' }, show: true } 就是这段,

解释还是拷贝官网:

[ default: null ]

刻度标签的内容格式器,支持字符串模板和回调函数两种形式。

示例:

// 使用字符串模板,模板变量为刻度默认标签 {value}

formatter: '{value} kg'

// 使用函数模板,函数参数分别为刻度数值(类目),刻度的索引

formatter: function (value, index) {

    // 格式化成月/日,只在第一个刻度显示年份

    var date = new Date(value);

    var texts = [(date.getMonth() + 1), date.getDate()];

    if (index === 0) {

        texts.unshift(date.getYear());

    }

    return texts.join('/');

}

 

常用的主要是:formatter: '{value} kg'

配置详见:http://echarts.baidu.com/option.html#yAxis.axisLabel.formatter

 

 
 
posted @ 2020-05-15 08:22  咖啡无眠  阅读(2347)  评论(0编辑  收藏  举报