画布无法显示正确的宽度和高度chart.js

凯奇廷

我使用画布的宽度和高度如下

<canvas id="myChart" height="400" width="400" ></canvas>

但是,渲染页面后,画布会以某种方式变为

<canvas height="1643" id="myChart" width="1643" style="display: block; width: 1643px; height: 1643px;"></canvas>

我发现了类似的问题,这种解决方案也对我有效,

options: {
  responsive: false
}

但是我不确定那是关闭响应选项的正确解决方案,因为那是chart.js中很酷的事情之一

我的代码

<Html>
<head>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.2.2/Chart.js" ></script>
</head>

<Body>
    <canvas id="myChart" height="400" width="400" ></canvas>
</Body>
<script>
      var ctx = document.getElementById("myChart");
        var myChart = new Chart(ctx, {
            type: 'bar',
            data: {
                labels: ["Red", "Blue", "Yellow", "Green", "Purple", "Orange"],
                datasets: [{
                    label: '# of Steps',
                    data: [12, 19, 3, 5, 2, 3],
                    backgroundColor: [
                        'rgba(255, 99, 132, 0.2)',
                        'rgba(54, 162, 235, 0.2)',
                        'rgba(255, 99, 132, 0.2)',
                        'rgba(54, 162, 235, 0.2)',
                        'rgba(255, 99, 132, 0.2)',
                        'rgba(54, 162, 235, 0.2)',

                    ],
                    borderColor: [
                        'rgba(255,99,132,1)',
                        'rgba(54, 162, 235, 1)',
                        'rgba(255, 206, 86, 1)',
                        'rgba(75, 192, 192, 1)',
                        'rgba(153, 102, 255, 1)',
                        'rgba(255, 159, 64, 1)'
                    ],
                    borderWidth: 1
                },

                {
                label: "Goal Line",
                    type:'line',
                    data: [{x:0,y:10},{x:0,y:10},{x:0,y:10},{x:0,y:10},{x:0,y:10},{x:0,y:10}],
                    fill: false,
                    pointRadius:[0,0,0,0,0,0,0],
                    borderWidth: 5,
                    borderColor: "rgba(243, 52, 52,1)",
                    borderJoinStyle: 'miter',                                                

            }

                ]
            },
            options: {
                scales: {
                    yAxes: [{
                        ticks: {
                            beginAtZero:true
                        },         
                    }],
                         xAxes: [{
                        ticks: {
                            beginAtZero:true
                        },

                    }]
                },

            }
        });

</script>

</Html>
丹尼尔·巴拉尔(Daniel Barral)

如果要避免图表太大或太小,可以使用css max-width和min-width:

<canvas id="myChart" height="400" width="400" style="min-width: 200px; max-width: 600px"></canvas>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Paper.js无法正确调整画布的大小

Three.js-画布元素无法正确显示。只看黑匣子

动态画布的宽度和高度

在angular-chart.js模块中更改宽度和高度

Charts.js将画布的宽度/高度设置为0,什么也不显示

获取图像尺寸(高度和宽度)Js或jQuery

画布静态高度Chart.js

修改后如何获取Fabric.js对象的正确高度和宽度

Chart.js:不遵守饼图的宽度和高度

Matter-js-如何获取矩形的宽度和高度?

在Chrome 60中,Chart.js画布元素的高度和宽度为负

TypeError:无法读取未定义的属性“宽度”-Nuxt JS和画布

当我设置图表div的样式属性的高度时,HorizontalBar图表显示在画布下方(Chart.js 2.9.4)

SVG无法使用Fabric.js在画布上正确渲染

HTML在Node Js中无法正确显示

Fabric.js路径对象由于宽度和高度而无法选择

如何通过js从svg div获取宽度和高度

如何在js中设置图像对象的高度和宽度

JS用于显示更多内容后,将backgound div的宽度和高度保持为100%

防止画布图表js的大小等于窗口的高度和宽度

Django 和 Chart.js 无法正确渲染图形

Chart.js 在画布上不显示任何内容

如何在反应中获得正确的画布宽度和高度?

vue js 无法正确显示 props 组件

使 D3.js 宽度和高度为 100%

chart.js 的图表无法在 Edge 和 Firefox 中显示

在js中获取html视频流的宽度和高度

Vue.js - 未计算组件高度和宽度

Fabric js - 将画布宽度和高度设置为 100%