<!-- 描述: 旋转多彩图 作者: Jack Chen 日期: 2020-04-19 --> <template> <div class="wrap-container sn-container"> <div class="sn-content"> <div class="sn-title">旋转多彩图</div> <div class="sn-body"> <div class="wrap-container"> <div class="pie"> <div class="pies pie1"></div> <div class="pies pie2"></div> <div class="pies pie3"></div> <div class="pie4"></div> </div> <div class="chartsdom" id="chart_rotate"></div> </div> </div> </div> </div> </template> <script> export default { name: "rotateColorful", data() { return { option: null, } }, mounted() { this.getEchart(); }, methods: { getEchart() { let myChart = echarts.init(document.getElementById('chart_rotate')); this.option = { tooltip: { trigger: 'item', formatter: '{a} <br/>{b} : {c} ({d}%)', }, legend: { show: true, orient: 'vertical', left: 'center', top: 'middle', data: ['内存', '存储'], textStyle: { color: '#4ce5ff', fontSize: 14, }, itemWidth: 20, itemHeight: 10 }, label: { normal: { show: false }, }, labelLine: { normal: { show: false } }, series: [{ name: '磁盘空间', type: 'pie', radius: [60, 110], center: ['50%', '50%'], roseType: 'area', label: { show: false }, emphasis: { label: { show: false } }, data: [{ value: 6.5, name: '内存', itemStyle: { normal: { color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ offset: 0, color: '#387ed3' },{ offset: 1, color: '#bc8b68' }]) } } },{ value: 3.5, name: '存储', itemStyle: { normal: { color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ offset: 0, color: '#188bfd' },{ offset: 1, color: '#51eeff' }]) } } },{ value: 0, name: '其他', itemStyle: { normal: { color: 'rgba(0, 0, 0, 0)' } } },{ value: 0, name: '其他1', itemStyle: { normal: { color: 'rgba(0, 0, 0, 0)' } } },{ value: 0, name: '其他2', itemStyle: { normal: { color: 'rgba(0, 0, 0, 0)' } } },{ value: 0, name: '其他3', itemStyle: { normal: { color: 'rgba(0, 0, 0, 0)' } } }] }] } myChart.setOption(this.option, true); window.addEventListener('resize', () => { myChart.resize(); }); } }, beforeDestroy() { } }; </script> <style lang="scss" scoped> .sn-container { left: 512px; top: 1120px; width: 432px; height: 400px; .chartsdom { width: 100%; height: 100%; } .pie { position: absolute; top: 0; width: 100%; height: 100%; .pies { width: 100%; height: 100%; position: absolute; top: 0; left: 0; background-repeat: no-repeat; background-position: center center; } .pie1 { background-image: url(../../assets/img/whcircle.png); animation: mymove 20s linear infinite; -webkit-animation: mymove 20s linear infinite; } .pie2 { background-image: url(../../assets/img/circle2.png); animation: moveto 20s linear infinite; -webkit-animation: moveto 20s linear infinite; } .pie3 { background-image: url(../../assets/img/inner.png); } .pie4 { position: absolute; top: 50%; left: 36%; width: 76px; height: 1px; background: linear-gradient(to right,rgb(31,38,103), rgb(90,250,253), rgb(31,38,103)); } } } @-webkit-keyframes mymove { 0% { -webkit-transform-origin: center; transform-origin: center; -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform-origin: center; transform-origin: center; -webkit-transform: rotate(360deg); transform: rotate(360deg); } } @keyframes mymove { 0% { -webkit-transform-origin: center; transform-origin: center; -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform-origin: center; transform-origin: center; -webkit-transform: rotate(360deg); transform: rotate(360deg); } } @-webkit-keyframes moveto { 0% { -webkit-transform-origin: center; transform-origin: center; -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform-origin: center; transform-origin: center; -webkit-transform: rotate(-360deg); transform: rotate(-360deg); } } @keyframes moveto { 0% { -webkit-transform-origin: center; transform-origin: center; -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform-origin: center; transform-origin: center; -webkit-transform: rotate(-360deg); transform: rotate(-360deg); } } </style>