您的位置:

Echarts饼图legend位置调整

一、基本概念

Echarts是一个开源的可视化图表库,可以用来制作各种类型的图表。其中,饼图是Echarts中最为常见和重要的一种图表之一。在饼图中,legend指的是图例,即标记每个扇形所代表的数据的方框或其他符号。

legend通常位于饼图的左侧、右侧、上方或下方。Echarts提供了丰富的配置选项,可以调整legend的位置、大小、颜色、字体、边框等多种样式。

二、修改legend位置的方法

1. legend.center

legend.center是一个数组,包含两个数字或百分数。当设置了legend.center时,legend将会居中显示。在这种情况下,legend.left和legend.right参数不起作用。

option = {
    series: [{
        type: 'pie',
        name: 'pie',
        data: [
            {value: 335, name: 'A'},
            {value: 310, name: 'B'},
            {value: 234, name: 'C'},
            {value: 135, name: 'D'},
            {value: 1548, name: 'E'}
        ],
        center: ['50%', '50%'],
        radius: ['40%', '60%']
    }],
    legend: {
        orient: 'vertical',
        left: 'left'
    }
};

2. legend.left和legend.right

当legend.width不为'auto'时,使用left和right参数可以将legend定位到画布的左侧或右侧。当left参数为'left'时,legend将位于画布的左侧。当right参数为'right'时,legend将位于画布的右侧。

option = {
    series: [{
        type: 'pie',
        name: 'pie',
        data: [
            {value: 335, name: 'A'},
            {value: 310, name: 'B'},
            {value: 234, name: 'C'},
            {value: 135, name: 'D'},
            {value: 1548, name: 'E'}
        ],
        center: ['50%', '50%'],
        radius: ['40%', '60%']
    }],
    legend: {
        orient: 'vertical',
        width: 'auto',
        left: 'left',
        data:['A','B','C','D','E']
    }
};

3. legend.top和legend.bottom

当legend.height不为'auto'时,使用top和bottom参数可以将legend定位到画布的上方或下方。当top参数为'top'时,legend将位于画布的上方。当bottom参数为'bottom'时,legend将位于画布的下方。

option = {
    series: [{
        type: 'pie',
        name: 'pie',
        data: [
            {value: 335, name: 'A'},
            {value: 310, name: 'B'},
            {value: 234, name: 'C'},
            {value: 135, name: 'D'},
            {value: 1548, name: 'E'}
        ],
        center: ['50%', '50%'],
        radius: ['40%', '60%']
    }],
    legend: {
        orient: 'horizontal',
        height: 'auto',
        top: 'top',
        data:['A','B','C','D','E']
    }
};

三、修改legend样式的方法

1. legend.textStyle

legend.textStyle可以用来设置legend中文本的样式,例如字体、字号、颜色等。

option = {
    series: [{
        type: 'pie',
        name: 'pie',
        data: [
            {value: 335, name: 'A'},
            {value: 310, name: 'B'},
            {value: 234, name: 'C'},
            {value: 135, name: 'D'},
            {value: 1548, name: 'E'}
        ],
        center: ['50%', '50%'],
        radius: ['40%', '60%']
    }],
    legend: {
        orient: 'horizontal',
        height: 'auto',
        top: 'top',
        textStyle: {
            color: 'red',
            fontSize: 14,
            fontWeight: 'bold'
        },
        data:['A','B','C','D','E']
    }
};

2. legend.itemGap

legend.itemGap可以用来设置legend中每个图例之间的距离。

option = {
    series: [{
        type: 'pie',
        name: 'pie',
        data: [
            {value: 335, name: 'A'},
            {value: 310, name: 'B'},
            {value: 234, name: 'C'},
            {value: 135, name: 'D'},
            {value: 1548, name: 'E'}
        ],
        center: ['50%', '50%'],
        radius: ['40%', '60%']
    }],
    legend: {
        orient: 'horizontal',
        height: 'auto',
        top: 'top',
        itemGap: 20,
        data:['A','B','C','D','E']
    }
};

3. legend.itemWidth和legend.itemHeight

legend.itemWidth和legend.itemHeight可以用来设置legend中每个图例的宽度和高度。

option = {
    series: [{
        type: 'pie',
        name: 'pie',
        data: [
            {value: 335, name: 'A'},
            {value: 310, name: 'B'},
            {value: 234, name: 'C'},
            {value: 135, name: 'D'},
            {value: 1548, name: 'E'}
        ],
        center: ['50%', '50%'],
        radius: ['40%', '60%']
    }],
    legend: {
        orient: 'horizontal',
        height: 'auto',
        top: 'top',
        itemGap: 20,
        itemWidth: 20,
        itemHeight: 10,
        data:['A','B','C','D','E']
    }
};

四、修改legend背景的方法

1. legend.backgroundColor

legend.backgroundColor可以用来设置legend的背景颜色。

option = {
    series: [{
        type: 'pie',
        name: 'pie',
        data: [
            {value: 335, name: 'A'},
            {value: 310, name: 'B'},
            {value: 234, name: 'C'},
            {value: 135, name: 'D'},
            {value: 1548, name: 'E'}
        ],
        center: ['50%', '50%'],
        radius: ['40%', '60%']
    }],
    legend: {
        orient: 'horizontal',
        height: 'auto',
        top: 'top',
        itemGap: 20,
        backgroundColor: '#f4f4f4',
        data:['A','B','C','D','E']
    }
};

2. legend.borderWidth和legend.borderColor

legend.borderWidth和legend.borderColor可以用来设置legend的边框宽度和边框颜色。

option = {
    series: [{
        type: 'pie',
        name: 'pie',
        data: [
            {value: 335, name: 'A'},
            {value: 310, name: 'B'},
            {value: 234, name: 'C'},
            {value: 135, name: 'D'},
            {value: 1548, name: 'E'}
        ],
        center: ['50%', '50%'],
        radius: ['40%', '60%']
    }],
    legend: {
        orient: 'horizontal',
        height: 'auto',
        top: 'top',
        itemGap: 20,
        backgroundColor: '#f4f4f4',
        borderWidth: 1,
        borderColor: 'gray',
        data:['A','B','C','D','E']
    }
};

总结

通过上面的介绍,我们了解到了Echarts饼图legend位置调整的一些基本概念、方法和技巧。我们可以使用legend.center、legend.left和legend.right、legend.top和legend.bottom等方法来调整legend的位置;使用legend.textStyle、legend.itemGap、legend.itemWidth和legend.itemHeight等方法来修改legend的样式;使用legend.backgroundColor、legend.borderWidth和legend.borderColor等方法来修改legend的背景和边框。希望这篇文章能给大家带来一些帮助,让大家更好地使用Echarts库制作出更加美观、实用的饼图。