vue 饼图模板,避免了文字被覆盖
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 | <template> <div> <v-chart :forceFit= "true" :height= "height" :data= "data" :scale= "scale" :onClick= "handleClick" :padding= "['70', '0', 'auto', 'auto']" > <v-tooltip :showTitle= "false" dataKey= "item*percent" /> <v-axis/> <v-legend dataKey= "item" /> <v-pie position= "percent" color= "item" :v-style= "pieStyle" :label= "labelConfig" /> <v-coord type= "theta" /> </v-chart> </div> </template> <script> const DataSet = require( '@antv/data-set' ) import { ChartEventMixins } from './mixins/ChartMixins' export default { name: 'Pie' , mixins: [ChartEventMixins], props: { title: { type: String, default : '' }, height: { type: Number, default : 254 }, dataSource: { type: Array, default : () => [ { item: '示例一' , count: 40 }, { item: '示例二' , count: 21 }, { item: '示例三' , count: 17 }, { item: '示例四' , count: 13 }, { item: '示例五' , count: 9 } ] } }, data() { return { scale: [{ dataKey: 'percent' , min: 0, formatter: '.0%' }], pieStyle: { stroke: '#fff' , lineWidth: 1 }, labelConfig: [ 'percent' , { formatter: (val, item) => { return item.point.item + ' :' + item.point.count + ' (' + val+ ')' ; } }], config: { pie: { label: { fontSize: 12, // 设置字体大小 formatter: '{b|{b}}\n{hr|}\n{c|{c}}' , // 使用自定义格式化字符串 rich: { // 富文本样式设置 b: { fontWeight: 'bold' , color: 'rgba(0, 0, 0, .8)' }, hr: { backgroundColor: '#ccc' , height: 1, borderRadius: 1 }, c: { color: 'rgba(0, 0, 0, .5)' } } } } } } }, computed: { data() { let dv = new DataSet.View().source( this .dataSource) // 计算数据百分比 dv.transform({ type: 'percent' , field: 'count' , dimension: 'item' , as : 'percent' }) return dv.rows } } } </script> |
每天学习一点点,你就进步一点点。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现