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
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>
|