多層餅圖(球形餅圖)+ 圓點在圓的邊緣上拖尾旋轉(zhuǎn)

HTML布局:

<div class="partyCompositionChat">
    <div class="wh-100" id="academicCompositionChat"></div>//兩層餅圖放進echarts里繪制槐臀,wh-100 是寬高百分百
    <div class="partyCompositionCircular">
        <canvas id="canvas" width="100" height="100"/></canvas> //canvas 繪制內(nèi)心圓以及在圓上旋轉(zhuǎn)的圓點+拖尾
        <div class="partyCompositionCircularList">
        //  內(nèi)心圓中的文案
        </div>
    </div>
</div>

最外面一層餅圖+淡一點的環(huán)形:(代碼)

function academicCompositionChat(){
    let Chart = echarts.init(document.getElementById('academicCompositionChat'));
    let option = {
        title:{
              text: '黨員學(xué)歷組成情況',
               textStyle: {
              color: '#2E72E3',
              fontSize: 20,
            },
            left: 'center',
            y: 'bottom',
          },
        legend: {
            width: 150,
           itemWidth: 9,
            itemHeight: 9,
            icon: 'circle',
            y: 'bottom',
            padding: [0, 0, 50, 0],
            textStyle: {
              fontSize: 16,
              fontFamily: 'Adobe Heiti Std',
              color: '#fff'
            }
        },
        series: [
            {
                name: '',
                type: 'pie',
                selectedMode: 'single',
                radius: ['60%', '71%'],
                center: ['50%', '35%'],
                label: {
                    show: false
                },
                zlevel: 1,
                labelLine: {
                    show: false
                },
                color: ['#0B4876'],
                data: [
                    {value: 0},
                ]
            },
            {
                name: '',
                type: 'pie',
                radius: ['70%', '80%'],
                center: ['50%', '35%'],
                label: {
                   show: false
                },
                color: ['#ffffff', '#90E446', '#21BAD6', '#E4A746'],
                itemStyle:{
                    borderWidth: 5,
                    borderColor: '#063065',
                },
                data: [
                    {value: 50, name: '碩士'},
                    {value: 50, name: '博士'},
                    {value: 100, name: '尣须纾科'},
                    {value: 100, name: '本科'},
                ]
            }
        ]
    };
    Chart.setOption(option);
}

圓點在圓的邊緣上拖尾旋轉(zhuǎn):(代碼)

function draw(){
    var c   = document.getElementById("canvas");
    var ctx = c.getContext("2d");
    ctx.clearRect(0, 0, 100, 180);
    ctx.save();
    ctx.translate( 50, 50);
  
    //繪制earth軌道(內(nèi)心圓)
    ctx.beginPath();
    ctx.arc(0, 0, 45, 0, 2 * Math.PI, true);
    ctx.fillStyle = 'rgba(33, 186, 214, 0.2)';
    ctx.strokeStyle = "rgba(33, 186, 214, 0.2)";
    ctx.fill();
    ctx.stroke();
    let time = new Date();
  
  //繪制拖尾
    ctx.beginPath();
    //轉(zhuǎn)動速度
    ctx.rotate(2 * Math.PI / 6 * time.getSeconds() + 2 * Math.PI / 6000 * time.getMilliseconds());
    //控制漸變顏色
    var gr = ctx.createLinearGradient(60, 45, 90, 0);
    gr.addColorStop(0, '#21BAD6');
    gr.addColorStop(1, 'transparent');
    
    ctx.arc(0, 0, 45, 30, Math.PI / 2, false); //第四個參數(shù)配合createLinearGradient里的參數(shù)控制拖尾的長度
    ctx.lineWidth = 3;
    ctx.strokeStyle = gr;
    ctx.stroke();
  
    //繪制拖尾前面的圓點
    ctx.beginPath();
    ctx.translate(40, 0);
    ctx.arc(-45, 45, 3, 0, 2 * Math.PI, false);//前兩個參數(shù)可以控制圓點的位置
    ctx.fillStyle = '#21BAD6';
    ctx.strokeStyle = "#21BAD6";
    ctx.fill();
    ctx.stroke();
    //后面這兩行代碼非常重要剿牺,不能忽略
    ctx.restore();
    requestAnimationFrame(draw);
}

把它們組合在一起的樣式

.partyCompositionChat{
    width: 30%;
    height: 100%;
    position: relative;
}

.partyCompositionCircular{
    width: 100px;
    height: 100px;
    position: absolute;
    left: 27%;
    top: 58px;
}


.partyCompositionCircularList{
    width: 50%;
    height: 50%;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    font-size: 24px;
    font-family: Adobe Heiti Std;
    font-weight: normal;
    color: #B8D3F1;
    overflow: hidden;
    line-height: 25px;
}

.partyCompositionCircularList .partyOrganizationChatTextItem{
    padding: 0;
    font-size: 18px;
}

效果圖:這是不同時間的兩張效果圖


微信圖片_20220429165453.png
微信圖片_20220429165447.png

如果這篇文章對你有用話的炼杖,請帥哥美女點個贊G衅健M烁觥V瓷摹(嚴禁轉(zhuǎn)載)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
禁止轉(zhuǎn)載姚垃,如需轉(zhuǎn)載請通過簡信或評論聯(lián)系作者。
  • 序言:七十年代末坏怪,一起剝皮案震驚了整個濱河市贝润,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌铝宵,老刑警劉巖打掘,帶你破解...
    沈念sama閱讀 221,820評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異鹏秋,居然都是意外死亡尊蚁,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,648評論 3 399
  • 文/潘曉璐 我一進店門侣夷,熙熙樓的掌柜王于貴愁眉苦臉地迎上來横朋,“玉大人,你說我怎么就攤上這事百拓∏俣В” “怎么了?”我有些...
    開封第一講書人閱讀 168,324評論 0 360
  • 文/不壞的土叔 我叫張陵衙传,是天一觀的道長决帖。 經(jīng)常有香客問我,道長蓖捶,這世上最難降的妖魔是什么地回? 我笑而不...
    開封第一講書人閱讀 59,714評論 1 297
  • 正文 為了忘掉前任,我火速辦了婚禮俊鱼,結(jié)果婚禮上落君,老公的妹妹穿的比我還像新娘。我一直安慰自己亭引,他們只是感情好绎速,可當我...
    茶點故事閱讀 68,724評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著焙蚓,像睡著了一般纹冤。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上购公,一...
    開封第一講書人閱讀 52,328評論 1 310
  • 那天萌京,我揣著相機與錄音,去河邊找鬼宏浩。 笑死知残,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的比庄。 我是一名探鬼主播求妹,決...
    沈念sama閱讀 40,897評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼乏盐,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了制恍?” 一聲冷哼從身側(cè)響起父能,我...
    開封第一講書人閱讀 39,804評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎净神,沒想到半個月后何吝,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,345評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡鹃唯,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,431評論 3 340
  • 正文 我和宋清朗相戀三年爱榕,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片坡慌。...
    茶點故事閱讀 40,561評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡黔酥,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出八匠,到底是詐尸還是另有隱情,我是刑警寧澤趴酣,帶...
    沈念sama閱讀 36,238評論 5 350
  • 正文 年R本政府宣布梨树,位于F島的核電站,受9級特大地震影響岖寞,放射性物質(zhì)發(fā)生泄漏抡四。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,928評論 3 334
  • 文/蒙蒙 一仗谆、第九天 我趴在偏房一處隱蔽的房頂上張望指巡。 院中可真熱鬧,春花似錦隶垮、人聲如沸藻雪。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,417評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽勉耀。三九已至,卻和暖如春蹋偏,著一層夾襖步出監(jiān)牢的瞬間便斥,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,528評論 1 272
  • 我被黑心中介騙來泰國打工威始, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留枢纠,地道東北人。 一個月前我還...
    沈念sama閱讀 48,983評論 3 376
  • 正文 我出身青樓黎棠,卻偏偏與公主長得像晋渺,于是被迫代替她去往敵國和親镰绎。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,573評論 2 359

推薦閱讀更多精彩內(nèi)容