繁体   English   中英

如何使用Chart.js更改图表的宽度

[英]How to change width of the chart using Chart.js

我已经使用Chart Js制作了图表。 但是,如下图所示,图表不适合宽度内。 canvas的属性也不起作用。 似乎height有效,但是我不能修改width (即使我更改了该值,也不会具有该值)。 我已将maintainAspectRatio设置为false,并将reponsive为true,但这无济于事。

如何使图表适合设置的宽度和高度?

任何建议或建议,将不胜感激。

<canvas id="monthly-sales" width="300" height="200"></canvas>

JS

var monthlySales = document.getElementById("monthly-sales").getContext('2d');
        var monthlySalesChart = new Chart(monthlySales, {
            type: 'bar',
            data: {
                labels: listOfMonths.slice(10,2),
                datasets: [{
                    label: 'Sales',
                    data: [
                        monthlyFees['sales'][10],
                        monthlyFees['sales'][11]
                    ],
                    backgroundColor: [
                        'rgba(255, 99, 132, 0.2)',
                        'rgba(54, 162, 235, 0.2)',
                    ],
                    borderColor: [
                        'rgba(255,99,132,1)',
                        'rgba(54, 162, 235, 1)',
                    ],
                    borderWidth: 1,
                }]
            },
            options: {
                title: {
                    display: true,
                    text: 'Sales'
                },
                legend: {
                    display: false,
                },
                maintainAspectRatio: false,
                scales: {
                    yAxes: [{
                        ticks: {
                            beginAtZero:true,
                            userCallback: function userCallback(tick) {
                                return (tick / 100000000);
                            }
                        }
                    }]
                },
                tooltips: {
                    callbacks: {
                        label: function label(tooltipItem, data) {
                            return numeral(tooltipItem.yLabel).format('0,0');
                        }
                    }
                }
            }
        });

HTML

<div class="col-sm-12">
    <div class="col-sm-4">
        <div class="card">
            <div class="card-body">
                <h4 class="card-title">This month</h4>
            </div>
            <div class="card-body">
                <div class="col-sm-4">
                    <div class="card-chart">
                        <canvas id="monthly-sales" width="200" height="200"></canvas>
                    </div>
                    <div>
                        Sales Changed: <span id="monthly-sales-changes"></span>
                    </div>
                </div>
                <div class="col-sm-4">
                    <div class="card-chart">
                        <canvas id="monthly-profits" width="200" height="150"></canvas>
                    </div>
                </div>
                <div class="col-sm-4">
                    <div class="card-chart">
                        <canvas id="monthly-orders" width="200" height="150"></canvas>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>

在此处输入图片说明

我发现了问题。 由于labels定义不正确,因此图表绘制不正确。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM