You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

74 lines
2.0 KiB

2 months ago
<template>
<div>分析</div>
2 months ago
</template><template>
<div ref="chart" style="width: 30rem; height: 15rem;"></div>
</template>
<script>
import * as echarts from 'echarts';
export default {
name: 'RingChart',
mounted() {
this.renderChart();
},
methods: {
renderChart() {
const chartDom = this.$refs.chart;
const myChart = echarts.init(chartDom);
const option = {
tooltip: {
trigger: 'item'
},
legend: {
orient: 'vertical', // 图例垂直排列
right: '10%', // 图例在右侧
top: 'center', // 图例垂直居中
itemGap: 40, //右侧间隔
formatter: function (name) {
// 自定义图例显示格式
const data = [
{ value: 54, name: '国企' },
{ value: 65, name: '民企' },
{ value: 32, name: '外企' },
];
// 文本标签
const item = data.find(item => item.name === name);
2 months ago
return `${name} ${item.value}`;
2 months ago
}
},
series: [
{
name: '项目分布',
type: 'pie',
2 months ago
radius: ['40%', '60%'],
2 months ago
center: ['30%', '50%'],
data: [
{ value: 54, name: '国企' , itemStyle:{color:'#36C3FB'}},
{ value: 65, name: '民企' , itemStyle:{color:'#5B76F9'} },
2 months ago
{ value: 32, name: '外企' , itemStyle:{color:'#FAC858'} },
2 months ago
],
label: {
show: false // 隐藏饼图内部的标签
},
emphasis: {
itemStyle: {
shadowBlur: 10,
shadowOffsetX: 0,
shadowColor: 'rgba(0, 0, 0, 0.5)'
}
}
}
]
};
myChart.setOption(option);
}
}
};
</script>
<style scoped>
/* 你可以在这里添加样式 */
</style>