Chart.js- এ কীভাবে ডেটা মান প্রদর্শন করা যায়


118

Chart.js ব্যবহার করা সম্ভব কিনা তা আমি জানতে চাই ডাটা মান প্রদর্শন করতে? আমি গ্রাফ মুদ্রণ করতে চাই।

কোন পরামর্শের জন্য ধন্যবাদ।


আমার গ্রাফটি পুরোপুরি কাজ করছে .. আমি কেবল আমার লাইনবারের চার্টে ডেটা মান প্রদর্শন করতে চাই .. তারপরে আমি আমার গ্রাফগুলি মুদ্রণ করতে পারি .. কারণ এখন আমি কেবল মাউসের ইভেন্টের মাধ্যমে ডেটা মানগুলি প্রদর্শন করতে পারি
ফুসসা

উত্তর:


138

দেরীতে সম্পাদনা: Chart.js এর জন্য এটির জন্য একটি অফিসিয়াল প্লাগইন রয়েছে 2.7.0+: https://github.com/chartjs/chartjs-plugin-datalabels

আসল উত্তর:

আপনি অ্যানিমেশন কমপ্লিটে পয়েন্ট / বারগুলি লুপ করতে পারেন এবং মানগুলি প্রদর্শন করতে পারেন


পূর্বরূপ

এখানে চিত্র বর্ণনা লিখুন


এইচটিএমএল

<canvas id="myChart1" height="300" width="500"></canvas>
<canvas id="myChart2" height="300" width="500"></canvas>

লিপি

var chartData = {
    labels: ["January", "February", "March", "April", "May", "June"],
    datasets: [
        {
            fillColor: "#79D1CF",
            strokeColor: "#79D1CF",
            data: [60, 80, 81, 56, 55, 40]
        }
    ]
};

var ctx = document.getElementById("myChart1").getContext("2d");
var myLine = new Chart(ctx).Line(chartData, {
    showTooltips: false,
    onAnimationComplete: function () {

        var ctx = this.chart.ctx;
        ctx.font = this.scale.font;
        ctx.fillStyle = this.scale.textColor
        ctx.textAlign = "center";
        ctx.textBaseline = "bottom";

        this.datasets.forEach(function (dataset) {
            dataset.points.forEach(function (points) {
                ctx.fillText(points.value, points.x, points.y - 10);
            });
        })
    }
});

var ctx = document.getElementById("myChart2").getContext("2d");
var myBar = new Chart(ctx).Bar(chartData, {
    showTooltips: false,
    onAnimationComplete: function () {

        var ctx = this.chart.ctx;
        ctx.font = this.scale.font;
        ctx.fillStyle = this.scale.textColor
        ctx.textAlign = "center";
        ctx.textBaseline = "bottom";

        this.datasets.forEach(function (dataset) {
            dataset.bars.forEach(function (bar) {
                ctx.fillText(bar.value, bar.x, bar.y - 5);
            });
        })
    }
});

ফিডল - http://jsfiddle.net/uh9vw0ao/


যদি আমার একই চার্টে দুটি লাইন চার্ট থাকে?
ফুসসা

1
উপরের সাহায্যে এটি এখনও মানগুলি দেখায় তবে পয়েন্টগুলি একে অপরের খুব কাছাকাছি থাকলে আপনি একটি ওভারল্যাপ দেখতে পাবেন। তবে মান অবস্থানটি পরিবর্তন করতে আপনি সর্বদা যুক্তি যুক্ত করতে পারেন। উদাহরণস্বরূপ পছন্দ করুন - jsfiddle.net/hh719qex আপনার যদি রঙিন প্রিন্টার থাকে। যদি আপনার কাছে কেবল দুটি সিরিজ থাকে তবে আপনি পাঠ্যবেসলিনকে আলাদা করে রাখার মতো স্টাফও করতে পারেন যদি 2 পয়েন্ট একে অপরের কাছাকাছি থাকে।
আলুপুলিং

4
এটি v1.0.2 এর জন্য কীভাবে এটি v2.1.3 এর জন্য করা যায়? পরবর্তী সংস্করণে অবজেক্ট স্ট্রাকচারটি আলাদা।
techie_28

2
@ পোটাটোপিলিংস আমি onCompleteএখানে কলব্যাক ব্যবহার করেছি তবে যখন চার্টের মাউসওভারটি চার্টের বারে থাকবে তখন এটি পুনরায় আঁকার কারণে সংখ্যাটি জ্বলজ্বল করবে W তবে onAnimationCompleteকি একই হবে ? আমি আমার বিদ্যমান চার্ট কোড ( var chartBarনীচে পেস্টবিন.
com

1
আমার গ্রাফের বারের উপরে আমার সরঞ্জাম টিপ এবং ডেটা উভয়ই দরকার। যখন সরঞ্জামের টিপটি প্রদর্শিত হচ্ছে, তখন বারের উপরে থাকা ডেটাটি সাদা বর্ণে পরিণত হয় যা আমার স্বচ্ছ সরঞ্জাম টিপতে দৃশ্যমান। আমি এটা কিভাবে ঠিক করবো?
এলজেপি

82

এখানে Chart.js 2.3 এর একটি আপডেট সংস্করণ রয়েছে

23 সেপ্টেম্বর, 2016: লাইন / বার উভয় প্রকারের জন্য v2.3 দিয়ে কাজ করার জন্য আমার কোড সম্পাদিত।

গুরুত্বপূর্ণ: আপনার অ্যানিমেশনটির প্রয়োজন না হলেও, সময়কাল বিকল্পটি 0 তে পরিবর্তন করবেন না, অন্যথায় আপনি চার্টইনস্ট্যান্স পাবেন .c কন্ট্রোলার অপরিজ্ঞাত ত্রুটি।

var chartData = {
    labels: ["January", "February", "March", "April", "May", "June"],
        datasets: [
            {
                fillColor: "#79D1CF",
                strokeColor: "#79D1CF",
                data: [60, 80, 81, 56, 55, 40]
            }
        ]
    };

var opt = {
    events: false,
    tooltips: {
        enabled: false
    },
    hover: {
        animationDuration: 0
    },
    animation: {
        duration: 1,
        onComplete: function () {
            var chartInstance = this.chart,
                ctx = chartInstance.ctx;
            ctx.font = Chart.helpers.fontString(Chart.defaults.global.defaultFontSize, Chart.defaults.global.defaultFontStyle, Chart.defaults.global.defaultFontFamily);
            ctx.textAlign = 'center';
            ctx.textBaseline = 'bottom';

            this.data.datasets.forEach(function (dataset, i) {
                var meta = chartInstance.controller.getDatasetMeta(i);
                meta.data.forEach(function (bar, index) {
                    var data = dataset.data[index];                            
                    ctx.fillText(data, bar._model.x, bar._model.y - 5);
                });
            });
        }
    }
};
 var ctx = document.getElementById("Chart1"),
     myLineChart = new Chart(ctx, {
        type: 'bar',
        data: chartData,
        options: opt
     });
<canvas id="myChart1" height="300" width="500"></canvas>


বার গ্রাফগুলিতে এটি চেষ্টা করার সময় আমি "আনকাচড টাইপ এরিয়ার: অপরিজ্ঞাতকৃত সম্পত্তি '0" পড়তে পারি না। বারগুলি "ডেটাসেট.মেটাডেটা [i] ._ মডেল" ব্যতীত অন্য কিছু ব্যবহার করে?
ক্রিস এনসেল

এটি আসলে ভের মডেল = ডেটাসেট ।_মেটা [i]। ডেটা [0] ._ মডেল;
ফ্লানামাক্কা

এটিও পুরো সত্য নয়। আমি এখনও ব্যতিক্রম পেতে। এটি বের করার চেষ্টা করবে।
Val

var মডেল = ডেটাসেট._মেটা [0] .ডাটা [i] ._ মডেল; আসলে।
ব্রায়ান

2
দেখে মনে হচ্ছে এটি _মেটা [0] এর মতো সহজ নয়। আসলে _মেটা অবজেক্টটি অ্যারে নয়, এর কী রয়েছে এমন একটি সংখ্যা সহ একক উপাদান রয়েছে। সংখ্যাটি কী হবে তার পিছনে যুক্তিটি আমি বের করতে পারছি না তাই আমি কীগুলির তালিকাগুলিটি সন্ধান করে প্রথম উপাদানটি এনেছি: var মডেল = ডাটাসেট._মেটা [অবজেক্ট.কিজ (ডাটাসেট._মেটা) [0]] .data [আমি] ._ মডেল;
আইরিশডাব গুয়

34

এই অ্যানিমেশন বিকল্পটি একটি বার চার্টে ২.১.৩ এর জন্য কাজ করে।

সামান্য সংশোধিত @ রস উত্তর

animation: {
duration: 0,
onComplete: function () {
    // render the value of the chart above the bar
    var ctx = this.chart.ctx;
    ctx.font = Chart.helpers.fontString(Chart.defaults.global.defaultFontSize, 'normal', Chart.defaults.global.defaultFontFamily);
    ctx.fillStyle = this.chart.config.options.defaultFontColor;
    ctx.textAlign = 'center';
    ctx.textBaseline = 'bottom';
    this.data.datasets.forEach(function (dataset) {
        for (var i = 0; i < dataset.data.length; i++) {
            var model = dataset._meta[Object.keys(dataset._meta)[0]].data[i]._model;
            ctx.fillText(dataset.data[i], model.x, model.y - 5);
        }
    });
}}

3
আমাকে hover: {animationDuration: 0}
লেভেলগুলি

1
এছাড়াও, নোট করুন যে আপনি কিংবদন্তি থেকে কোনও কিছু গোপন করার সময় আপনি যদি লেবেলগুলি আড়াল করতে চান তবে forEach লুপের আগে আপনাকে নিম্নলিখিতগুলি যুক্ত করতে হবে:.filter(dataset => !dataset._meta[0].hidden)
iamyojimbo

1
বারগুলির উপরে পর্যাপ্ত জায়গা না থাকলে এই পদ্ধতিটি মানগুলি ক্লিপ করে causes
জান্নে আনালা

2
বিশ্বাস করা যায় না যে এটি কুৎসিত
লা মাসি

দেখতে দুর্দান্ত লাগছে, তবে টুলটিপগুলি আবার আঁকলে জ্বলজ্বল হয়। এছাড়াও সজ্জিত বারগুলির জন্য সম্মিলিত চার্ট এবং সংশ্লেষিত ডেটা লেবেলে সংঘর্ষগুলি প্রক্রিয়া করে না - অবশ্যই অবশ্যই আরও কোডিংয়ের প্রয়োজন হবে।
dma_k

22

আমি মনে করি চার্টজেএস ভি 2.x এ করার জন্য সর্বোত্তম বিকল্পটি একটি প্লাগইন ব্যবহার করে, সুতরাং বিকল্পগুলিতে আপনার কাছে কোডের একটি বৃহত ব্লক নেই। এছাড়াও, কোনও বারের উপর দিয়ে ঘুরে বেড়ানোর সময় এটি অদৃশ্য হওয়া থেকে বাধা দেয়।

অর্থাত্ এই কোডটি ব্যবহার করুন, যা একটি প্লাগইন নিবন্ধন করে যা চার্ট আঁকার পরে পাঠ্য যুক্ত করে।

Chart.pluginService.register({
    afterDraw: function(chartInstance) {
        var ctx = chartInstance.chart.ctx;

        // render the value of the chart above the bar
        ctx.font = Chart.helpers.fontString(Chart.defaults.global.defaultFontSize, 'normal', Chart.defaults.global.defaultFontFamily);
        ctx.textAlign = 'center';
        ctx.textBaseline = 'bottom';

        chartInstance.data.datasets.forEach(function (dataset) {
            for (var i = 0; i < dataset.data.length; i++) {
                var model = dataset._meta[Object.keys(dataset._meta)[0]].data[i]._model;
                ctx.fillText(dataset.data[i], model.x, model.y - 2);
            }
        });
  }
});

Chart.plugins.register (ha
hasentopf

আমাকে ব্যবহার করতে হয়েছিল Chart.defaults.global.tooltips.enabled = false;। এই সমাধানটি সহ সমস্যাটি হ'ল afterDrawফাংশনটি কয়েকশবার বলা হয়, সম্ভবত সিপিইউ ওভারহেড উত্পাদন করে। তবুও, এটি পলক ছাড়াই এখনকার একমাত্র উত্তর। আপনার যদি horizontalBarচার্টগুলির জন্য আরও ভাল রেন্ডারিং দরকার হয় তবে ব্যবহার করুন ctx.textAlign = 'left'; ctx.textBaseline = 'middle';এবং ctx.fillText(dataset.data[i], model.x+5, model.y);
ক্রিসওয়েবদেভ

একটি আরও ক্লিনার এবং মডুলার সমাধান।
হাদায়তুল্লাহ

20

চার্ট.জেএস ২.০ এবং তার উপরে @ রসের উত্তর উত্তরের উপর ভিত্তি করে, বারের উচ্চতা খুব বেশি মাত্রায় স্কেল সীমানা বেছে নেওয়ার সময় আমাকে মামলার বিরুদ্ধে রক্ষা করার জন্য সামান্য কিছুচিহ্ন অন্তর্ভুক্ত করতে হয়েছিল।

উদাহরণ

animationবার চার্ট এর বিকল্পের বৈশিষ্ট্য:

animation: {
            duration: 500,
            easing: "easeOutQuart",
            onComplete: function () {
                var ctx = this.chart.ctx;
                ctx.font = Chart.helpers.fontString(Chart.defaults.global.defaultFontFamily, 'normal', Chart.defaults.global.defaultFontFamily);
                ctx.textAlign = 'center';
                ctx.textBaseline = 'bottom';

                this.data.datasets.forEach(function (dataset) {
                    for (var i = 0; i < dataset.data.length; i++) {
                        var model = dataset._meta[Object.keys(dataset._meta)[0]].data[i]._model,
                            scale_max = dataset._meta[Object.keys(dataset._meta)[0]].data[i]._yScale.maxHeight;
                        ctx.fillStyle = '#444';
                        var y_pos = model.y - 5;
                        // Make sure data value does not get overflown and hidden
                        // when the bar's value is too close to max value of scale
                        // Note: The y value is reverse, it counts from top down
                        if ((scale_max - model.y) / scale_max >= 0.93)
                            y_pos = model.y + 20; 
                        ctx.fillText(dataset.data[i], model.x, y_pos);
                    }
                });               
            }
        }

লেখচিত্রটির মাউসওভারটিতে জ্বলজ্বল করছে .. আমি ctx.save()শেষে কল করার চেষ্টা করেছি কিন্তু এটি কোনও লাভ হয়নি
techie_28

onCompleteকল ব্যাক কার্যকর যখন আমি বার এর যা blink.Would করতে পুনরায় আঁকুন ও টেক্সট প্রদর্শিত হয় কারণ এই সঙ্গে একই হতে চাইছিলেন onAnimationCompleteপাশাপাশি? আমি ব্যবহার করতে পারছি না onAnimationCompleteআমার বর্তমান কোড সহ কল ব্যাক (দেখুন var chartBarনীচে pastebin। com / tT7yTkGh
techie_28

পাই চার্টে কি একই কাজ করা সম্ভব
রবি খাম্বাটি

: @RaviKhambhati হ্যাঁ, আপনি এটা আউট এই উত্তরে পরীক্ষা করতে পারবেন stackoverflow.com/a/38797604/6402571
স্তব্ধ Tran

17

আপনি যদি প্লাগইন চার্টজ-প্লাগইন-ডেটাবেল ব্যবহার করেন তবে নিম্নলিখিত কোড বিকল্পগুলির অবজেক্টটি সহায়তা করবে

নিশ্চিত করুন যে আপনি import 'chartjs-plugin-datalabels';নিজের টাইপ স্ক্রিপ্ট ফাইলটি আমদানি করেছেন বা <script src="chartjs-plugin-datalabels.js"></script>আপনার জাভাস্ক্রিপ্ট ফাইলটিতে রেফারেন্স যুক্ত করেছেন ।

options: {
    maintainAspectRatio: false,
    responsive: true,
    scales: {
      yAxes: [{
        ticks: {
          beginAtZero: true,
        }
      }]
    },
    plugins: {
      datalabels: {
        anchor: 'end',
        align: 'top',
        formatter: Math.round,
        font: {
          weight: 'bold'
        }
      }
    }
  }

1
আপনার উত্তরটি খুব সহজ এবং আমার পক্ষে কাজ করেছে। ধন্যবাদ. শুভ কোডিং।
বাঁধাম মানিকান্ত

7

এই উত্তরের উত্তরের পরে , আমি একটি বার চার্টের জন্য এই বিকল্পগুলি ব্যবহার করব:

var chartOptions = {
    animation: false,
    responsive : true,
    tooltipTemplate: "<%= value %>",
    tooltipFillColor: "rgba(0,0,0,0)",
    tooltipFontColor: "#444",
    tooltipEvents: [],
    tooltipCaretSize: 0,
    onAnimationComplete: function()
    {
        this.showTooltip(this.datasets[0].bars, true);
    }
};

window.myBar = new Chart(ctx1).Bar(chartData, chartOptions);

বার চার্ট

এটি এখনও টুলটিপ সিস্টেম এবং তার সুবিধাগুলি (স্বয়ংক্রিয় অবস্থান, টেম্প্লেটিং, ...) ব্যবহার করে তবে সজ্জা গোপন করছে (পটভূমির রঙ, ক্যারেট, ...)


চার্ট ধরণের উপর নির্ভর করে বাস্তবায়ন পরিবর্তন হতে পারে। একটি লাইন চার্টের জন্য, উদাহরণস্বরূপ, এটি this.datasets[0].pointsপরিবর্তে .bars। আমি এই সমাধানটিকে পছন্দ করি কারণ এটি টুলটিপ সিস্টেম ব্যবহার করে।
টেল্মো মার্কস

1
পূর্ববর্তী সংস্করণের জন্য এই সমাধান the সর্বশেষতম সংস্করণটির জন্য এটি কীভাবে অর্জন করা যায় অর্থাৎ ২.১.৩। আমি অ্যানিমেশন onCompleteকলব্যাকে আলুপাওলিংস এবং হুয়াং ট্র্যাংয়ের উত্তরগুলি ব্যবহার করেছি তবে লেখচিত্রটি বার বার আঁকতে ও অবাঞ্ছিত afterDrawঝাপটায় দেয় তারপরেও এটি ট্রিগার হয়ে যায় I আলুচিকিত্সার সরবরাহিত ফিডেলে কি ঘটবে না? কোন আইডিয়াস প্লিজ?
techie_28

6

চার্ট.জেএস নমুনা থেকে (ফাইল Chart.js-2.4.0 / নমুনা / ডেটা_বেলিংএইচটিএমএল):

`` `// ডেটা লেবেল সরবরাহ করতে একটি প্লাগইন সংজ্ঞায়িত করুন

    Chart.plugins.register({
        afterDatasetsDraw: function(chartInstance, easing) {
            // To only draw at the end of animation, check for easing === 1
            var ctx = chartInstance.chart.ctx;

            chartInstance.data.datasets.forEach(function (dataset, i) {
                var meta = chartInstance.getDatasetMeta(i);
                if (!meta.hidden) {
                    meta.data.forEach(function(element, index) {
                        // Draw the text in black, with the specified font
                        ctx.fillStyle = 'rgb(0, 0, 0)';

                        var fontSize = 16;
                        var fontStyle = 'normal';
                        var fontFamily = 'Helvetica Neue';
                        ctx.font = Chart.helpers.fontString(fontSize, fontStyle, fontFamily);

                        // Just naively convert to string for now
                        var dataString = dataset.data[index].toString();

                        // Make sure alignment settings are correct
                        ctx.textAlign = 'center';
                        ctx.textBaseline = 'middle';

                        var padding = 5;
                        var position = element.tooltipPosition();
                        ctx.fillText(dataString, position.x, position.y - (fontSize / 2) - padding);
                    });
                }
            });
        }
    });

``


আমি এটি দিয়ে একটি অনুভূমিক বারের চার্টে প্রান্তিককরণের জন্য একটি লাইন যুক্ত করেছি (চার্ট.কনফিগ.টাইপ == "অনুভূমিক বার") তারপরে এটি বিন্যস্ত করার জন্য 10 এর একটি কাস্টম উল্লম্ব প্যাডিং সংজ্ঞায়িত করে।
জেফ বিগেলি 21'17

6

আমি এই প্লাগইনটি ব্যবহার করার পরামর্শ দেব: https://github.com/chartjs/chartjs-plugin-datalabels

জেএস ফাইলটিতে প্লাগইন আমদানি করে কেবল আপনার চার্টগুলিতে লেবেল যুক্ত করা যেতে পারে যেমন:

import 'chartjs-plugin-datalabels'

এবং এই দস্তাবেজগুলি ব্যবহার করে সূক্ষ্ম সুর করা যেতে পারে: https://chartjs-plugin-datalabels.netlify.com/options.html


2
সহজতম, "কোড" প্রয়োজন হয় না, স্ট্যান্ডার্ড "বিকল্পগুলি" অবজেক্টটি ব্যবহার করে কেবল কাস্টমাইজেশন করা দরকার। শিরোনাম: নূন্যতম প্রয়োজনীয় চার্ট.জেএস সংস্করণটি ২.7.০ , আমি সিডিএন থেকে ২.০.০ উল্লেখ করছি এবং চার্টগুলিতে কোনও পরিবর্তন হয়নি ...
জিবিইউ

@GBU- এর বিকল্প বৈশিষ্ট্যটি কী?
ভীমিম

5

@ অজদ্দীর উত্তরটি কিছুটা সম্পাদিত। কেবল বার চার্টের জন্য । আমার সংস্করণ যোগ করেছে:

  • মানগুলির জন্য অ্যানিমেশনে বিবর্ণ।
  • বারটি খুব বেশি হলে বারের মধ্যে মান অবস্থান করে ক্লিপিং প্রতিরোধ করুন।
  • ঝলকানি নেই।

উদাহরণ

ডাউনসাইড: যখন কোনও বারের মধ্যে এর মান রয়েছে তার উপর দিয়ে ঘুরে বেড়ানোর সময় মানটি কিছুটা ঝাঁকুনির মতো দেখায়। হোভার ইফেক্টগুলি অক্ষম করে এমন কোনও সমাধান আমি পাই নি। এটি আপনার নিজস্ব সেটিংসের উপর নির্ভর করে টুইটারের প্রয়োজন হতে পারে।

কনফিগারেশন:

bar: {
  tooltips: {
    enabled: false
  },
  hover: {
    animationDuration: 0
  },
  animation: {
    onComplete: function() {
      this.chart.controller.draw();
      drawValue(this, 1);
    },
    onProgress: function(state) {
      var animation = state.animationObject;
      drawValue(this, animation.currentStep / animation.numSteps);
    }
  }
}

সাহায্যকারী:

// Font color for values inside the bar
var insideFontColor = '255,255,255';
// Font color for values above the bar
var outsideFontColor = '0,0,0';
// How close to the top edge bar can be before the value is put inside it
var topThreshold = 20;

var modifyCtx = function(ctx) {
  ctx.font = Chart.helpers.fontString(Chart.defaults.global.defaultFontSize, 'normal', Chart.defaults.global.defaultFontFamily);
  ctx.textAlign = 'center';
  ctx.textBaseline = 'bottom';
  return ctx;
};

var fadeIn = function(ctx, obj, x, y, black, step) {
  var ctx = modifyCtx(ctx);
  var alpha = 0;
  ctx.fillStyle = black ? 'rgba(' + outsideFontColor + ',' + step + ')' : 'rgba(' + insideFontColor + ',' + step + ')';
  ctx.fillText(obj, x, y);
};

var drawValue = function(context, step) {
  var ctx = context.chart.ctx;

  context.data.datasets.forEach(function (dataset) {
    for (var i = 0; i < dataset.data.length; i++) {
      var model = dataset._meta[Object.keys(dataset._meta)[0]].data[i]._model;
      var textY = (model.y > topThreshold) ? model.y - 3 : model.y + 20;
      fadeIn(ctx, dataset.data[i], model.x, textY, model.y > topThreshold, step);
    }
  });
};

জানে, সমাধানের জন্য আপনাকে ধন্যবাদ, এটি দুর্দান্ত দেখাচ্ছে। তবে আমার একটি পরিস্থিতি রয়েছে যেখানে আমার মানগুলি আসলে কৃন্ডা বড় (5 দশমিক সংখ্যা) থাকে এবং যখন পর্দার আকার ছোট হয় বা আমার অনেক চার্ট থাকে তখন সংখ্যাগুলি একে অপরের শীর্ষে থাকে। দায়িত্ব নিয়ে এই কাজটি করার কোনও উপায় আছে কি? পছন্দ করুন, কোনও স্থান না থাকলে সংখ্যাগুলি ঘোরান, ঠিক যেমন বারের নীচে লেবেল রয়েছে?
ফিটার

@ ফিফারফারানডিস আমি মনে করি যে পরিবর্তিত Ctx ফাংশনটিতে বর্তমান পর্দার আকার পরীক্ষা করে এবং ctx.rotate ব্যবহার করে ঘোরানো সম্ভব উচিত। তবে আমি নিশ্চিত না যে কীভাবে ঘুরতে হবে তা নির্ধারণ করার জন্য উপলব্ধ আকারের সাথে কীভাবে মানের আকারটি তুলনা করতে পারি।
জান্নে আনালা

ModifyCtx ফাংশনটি কেবল একবারে কাজ করে, এবং আকার পরিবর্তন করে না, তাই না? আমি চার্ট.জেএস এর সোর্স কোডটি একবার দেখে নেব এবং দেখতে পাচ্ছি তারা কোথায় অক্ষের মধ্যে লেবেলগুলি ঘোরান। আমি যদি কিছু দেখি তবে আমি কিছু করার চেষ্টা করব এবং এখানে আপনাকে বলব, ঠিক আছে? =)
ফিটার

আমি ২.৩.০ সংস্করণে, লাইন 75০75৫-এর কিছু খুঁজে পেয়েছি calculateTickRotationit's এটি স্কেল ফাংশনের অভ্যন্তরে। আমি এটি বিশ্লেষণ করব।
ফিটার

5

আমার অভিজ্ঞতা থেকে, একবার আপনি চার্টজ-প্লাগইন-ডেটাবেলস প্লাগইন অন্তর্ভুক্ত করেছেন ( <script>আপনার পৃষ্ঠায় চার্ট.জেএস ট্যাগের পরে ট্যাগটি স্থাপনের বিষয়টি নিশ্চিত করুন), আপনার চার্টগুলি মান প্রদর্শন শুরু করে।

এরপরে আপনি যদি চয়ন করেন তবে এটি আপনার প্রয়োজন অনুসারে কাস্টমাইজ করতে পারেন। এখানে কাস্টমাইজেশন স্পষ্টভাবে নথিভুক্ত করা হয়েছে তবে মূলত, বিন্যাসটি এই অনুমান উদাহরণের মতো:

var myBarChart = new Chart(ctx, {
    type: 'bar',
    data: yourDataObject,
    options: {
        // other options
        plugins: {
            datalabels: {
                anchor :'end',
                align :'top',
                // and if you need to format how the value is displayed...
                formatter: function(value, context) {
                    return GetValueFormatted(value);
                }
            }
        }
    }
});
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.