Echart 图表使用(二)

一、饼图

 1、label标签换行展示,且保留两位小数

series:[
    {
        label: {
           formatter: function(params) {
              if(params.percent.toString().indexOf('.') != -1) {
                 let arr = params.percent.toString().split('.');
                    if (arr[1].length < 2) {
                       return params.name + '\n' + params.percent + '0%';
                    }else {
                       return params.name + '\n' + params.percent + '%';
                    }
              }else {
                 return params.name + '\n' + params.percent + '.00%';
              }
            },
            overflow: 'none' // 标签过长不省略显示
        },
    }
]

2、圆环饼图大小修改、圆环饼图位置、圆环饼图颜色修改、圆环饼图引导线长度修改

series: [
    {
        type: 'pie',
        radius: ['46%', '66%'], // ['内圆直径占比'、, '外圆直径占比']
        center: ['50%', '50%'], // 饼图在画布中的位置
        itemStyle: {
            normal: {
                color: function (colors) { // 修改圆环颜色
                    var colorList = [
                        '#397bff',
                        '#61cdf5',
                        '#8c85ed',
                    ];
                    return colorList[colors.dataIndex];
                }
            },
        },
        labelLine: {
            normal: {
                length: 13, // 修改引导线第一段的长度
                length2: 6, // 修改引导线第二段的长度
            },
        },
    }
]

3、圆环中间总计

opition: {
    title: {
        text: '289',
        left: "center",
            top: "50%",
            textStyle: {
                textAlign: "center",
                fill: "#333",
                fontSize: 16,
                fontWeight: 400,
            }
    },
    graphic: {
        type: "text",
        left: "center",
        top: "44%",
        style: {
            text: "总计",
            textAlign: "center",
            fill: "#333",
            fontSize: 12,
        }
    },
}

二、柱状图(交错正负轴标签)自适应高度展示

<div>
        <div id="echart_wrapper" ref="brand_echart" :style="{width: 100 + '%',height: eHeight + 'px'}"></div>
</div>

<script>
export default {
    data() {
        return {
            eHeight: 100
        }
    },
    methods: {
        getEchartData() {
            // 例如 echartArr = [
            //     [1, '万国'],
            //     [2, '劳力士'],
            //     [5, '百达翡丽']
            //     [12, '浪琴']
            // ]
            let n = echartArr.length
            if (n <= 0) {
                this.eHeight = 100
            }
            else if (n < 2) {
                this.eHeight = n * 100
            }
            else if (n < 5) {
                this.eHeight = n * 50
            }
            else {
                this.eHeight = n * 40
            }
            this.$nextTick(() => {
                document.getElementById('echart_wrapper').setAttribute('_echarts_instance_', '') // 解决echarts 无法重新刷新的问题 
                this.option.dataset.source = echartArr;
                this.myChart = echarts.init(this.$refs.brand_echart);
                this.myChart.setOption(this.option, true);
            })
        }
    }
}
</script>

三、折线图

1、双 y 轴、x轴刻度值倾斜

<script>
    export default {
        data() {
            return {
                opition: {
                    xAxis: {
                        type: 'category',
                        axisLabel: {
                            rotate: 45 // 倾斜角度
                        },
                    },
                    yAxis: [
                        {
                            type: 'value',
                            name: '访\n客\n人\n数',
                            nameLocation: 'left',
                            nameTextStyle: {
                                fontSize: 14,
                                padding: [0,0,-26,-120]
                            },
                            axisLabel: {
                                formatter: "{value}"
                            }
                        },
                        {
                            type: 'value',
                            name: '转\n化\n率',
                            nameLocation: 'right',
                            nameTextStyle: {
                                fontSize: 14,
                                padding: [0,0,-16,80]
                            },
                            axisLabel: {
                                formatter: "{value}%"
                            }
                        }
                    ],
                }
            }
        }
        
    }
</script>

 2、tooltip 换行、占比数据加 % 

<script>
    export default {
        data() {
            return {
                opition: {
                    tooltip: {
                        trigger: 'axis',
                        formatter: function(params) {
                            var html = params[0].name + '<br>';
                            for (var i = 0; i < params.length - 1; i++) {
                                html +=
                                    params[i].marker +
                                    params[i].seriesName +
                                    ':' +
                                    params[i].value +
                                    '<br>';
                            }
                            //占比数据 添加%
                            if(params.length == 2 ) {
                                html +=
                                    params[i].marker +
                                    params[i].seriesName +
                                    ':' +
                                    params[i].value +
                                    '%' +
                                    '<br>';
                                    return html;
                            }else {
                                if(params[i].seriesName == '转化率') {
                                    html +=
                                    params[i].marker +
                                    params[i].seriesName +
                                    ':' +
                                    params[i].value +
                                    '%' +
                                    '<br>';
                                    return html;
                                }else {
                                    html +=
                                    params[i].marker +
                                    params[i].seriesName +
                                    ':' +
                                    params[i].value
                                    '<br>';
                                    return html;
                                }
                            }
                        }
                    },
                }
            }
        }
        
    }
</script>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
ECharts是一个功能强大的交互式图表和可视化库,用于在浏览器中创建各种类型的图表。它提供了丰富的图表类型和交互功能,可以帮助用户更好地展示和分析数据。ECharts支持的图表类型包括折线图、柱状图、散点图、饼图、雷达图、地图等。用户可以根据自己的需求选择合适的图表类型,并通过配置选项进行个性化设置,如调整颜色、样式、标签等。此外,ECharts还支持数据的动态更新和交互操作,用户可以通过鼠标滚动、拖拽、点击等方式与图表进行交互,实现数据的探索和展示。通过使用ECharts,用户可以轻松创建出美观、交互性强的图表,用于数据可视化和展示[^1]。 以下是一个使用ECharts创建柱状图的示例代码: ```html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>My First ECharts</title> <!-- 引入 ECharts 文件 --> <script src="https://cdn.jsdelivr.net/npm/echarts@5.1.2/dist/echarts.min.js"></script> </head> <body> <!-- 为 ECharts 准备一个具备大小(宽高)的 DOM --> <div id="myChart" style="width: 600px;height:400px;"></div> <script type="text/javascript"> // 基于准备好的 DOM,初始化 ECharts 实例 var myChart = echarts.init(document.getElementById('myChart')); // 指定图表的配置项和数据 var option = { title: { text: '柱状图示例' }, xAxis: { data: ['A', 'B', 'C', 'D', 'E'] }, yAxis: {}, series: [{ name: '销量', type: 'bar', data: [5, 20, 36, 10, 10] }] }; // 使用刚指定的配置项和数据显示图表 myChart.setOption(option); </script> </body> </html> ``` 这段代码创建了一个柱状图,横轴表示类别,纵轴表示销量。通过设置xAxis和yAxis的data属性和series的data属性,可以指定横轴和纵轴的数据。通过设置title属性,可以给图表添加标题。最后,使用myChart.setOption(option)方法将配置项应用到图表上,实现图表的展示。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值