最近中文字幕高清中文字幕无,亚洲欧美高清一区二区三区,一本色道无码道dvd在线观看 ,一个人看的www免费高清中文字幕

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何自定義圖表js條形圖形狀?

如何自定義圖表js條形圖形狀?

慕田峪9158850 2023-08-05 21:03:33
如何更改 Chart Js 的條形圖形狀,使其具有尖尖的頂部和底部,如下圖所示?
查看完整描述

1 回答

?
慕森王

TA貢獻(xiàn)1777條經(jīng)驗(yàn) 獲得超3個(gè)贊

獲取三角形的一種方法是制作堆積圖,并在頂部添加折線圖。為了保持其反應(yīng)性,您需要?jiǎng)討B(tài)調(diào)整線條數(shù)據(jù)上的 pointRadius 的大小。

https://jsfiddle.net/0mcd5s13/3/

或者在 Chart.js 的第 4640 行,您可以將 element_rectangle 繪制函數(shù)更改為:

draw: function() {

        var ctx = this._chart.ctx;

        var vm = this._view;

        var rects = boundingRects(vm);

        var outer = rects.outer;

        var inner = rects.inner;


        //ctx.fillStyle = vm.backgroundColor;

        //ctx.fillRect(outer.x, outer.y, outer.w, outer.h);


        if (outer.w === inner.w && outer.h === inner.h) {

            return;

    }

    

    let offset = outer.w / 2;


        ctx.save();

    ctx.beginPath();

    

    ctx.moveTo(outer.x, outer.y);

    ctx.lineTo(outer.x, outer.y + outer.h);

    ctx.lineTo(outer.x + offset, outer.y + outer.h + offset);

    //ctx.lineTo(outer.x + offset, outer.y + outer.h);

    ctx.lineTo(outer.x + outer.w, outer.y + outer.h);

    ctx.lineTo(outer.x + outer.w, outer.y);

    ctx.lineTo(outer.x + offset, outer.y - offset);

    ctx.lineTo(outer.x, outer.y);

    ctx.stroke();



        //ctx.rect(outer.x, outer.y, outer.w, outer.h);

         ctx.clip();

         ctx.fillStyle = vm.borderColor;

        // ctx.rect(inner.x, inner.y, inner.w, inner.h);

         ctx.fill('evenodd');

        ctx.restore();

    },

產(chǎn)生這樣的結(jié)果:

https://img1.sycdn.imooc.com//64ce48f10001b96303900395.jpg

更有可能從源導(dǎo)入 Chart.js,您將需要制作自己的圖表類型作為條形圖的擴(kuò)展。


(function(Chart) {

  var helpers = Chart.helpers;


    Chart.defaults.triBar = {

        hover: {

            mode: "label"

        },

    dataset: {

      categoryPercentage: 0.8,

      barPercentage: 0.9

    },

        scales: {

            xAxes: [{

                type: "category",

                // grid line settings

                gridLines: {

                    offsetGridLines: true

                }

            }],

            yAxes: [{

                type: "linear"

            }]

        }

    };



  Chart.controllers.triangleBar = Chart.controllers.bar.extend({           

    

    //  

    //  extend element_rectangle draw function here

    //


  });    

}).call(this, Chart);


查看完整回答
反對(duì) 回復(fù) 2023-08-05
  • 1 回答
  • 0 關(guān)注
  • 130 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)