javascript - Chart.js:饼图的宽度和高度不受尊重

标签 javascript html css chart.js

我正在使用 Chart.js 创建饼图。我需要每个图表都是 76x76px。不幸的是,呈现的图表总是比包装 div 和 Canvas 本身的尺寸小一点。

如果您检查 FIDDLE 中的图表,您会明白我的意思:canvas 元素具有固定大小,但图表本身并没有完全填满它。

enter image description here

就好像为不存在的东西预留了最高利润率。

代码:

HTML

<div class="wrapper">
  <canvas id="myChart" width="76" height="76"></canvas>
</div>

JS

var ctx = document.getElementById("myChart").getContext('2d');
var myChart = new Chart(ctx, {
    type: 'pie',
    data: {
        datasets: [{
            data: [30, 70],
            backgroundColor: [
                'green',
                'gray'
            ],
            borderWidth: 0
        }]
    },
    options: {
        tooltips: {
             enabled: false
        },
        events: []
    }
});

CSS

.wrapper {
  width: 76px;
  height: 76px;
}

有什么想法可以让饼图填满 76x76 像素的 Canvas 吗?

最佳答案

额外的空间是为legend保留的,默认启用。只需禁用它,您就应该拥有图表的整个空间:

legend: {
  display: false
}

一个工作示例:

var ctx = document.getElementById("myChart").getContext('2d');
var myChart = new Chart(ctx, {
  type: 'pie',
  data: {
    datasets: [{
      data: [30, 70],
      backgroundColor: [
        'green',
        'gray'
      ],
      borderWidth: 0
    }]
  },
  options: {
    tooltips: {
      enabled: false
    },
    legend: {
      display: false  // <- the important part
    },
    events: []
  }
});
.wrapper {
  width: 76px;
  height: 76px;
  border: 1px solid black; /* for demonstration purposes*/
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.4/Chart.min.js" integrity="sha512-d9xgZrVZpmmQlfonhQUvTR7lMPtO7NkZMkA0ABN3PHCbKA5nqylQ/yWlFAyY6hYgdF1Qh6nYiuADWwKB4C2WSw==" crossorigin="anonymous"></script>
<div class="wrapper">
  <canvas id="myChart" width="76" height="76"></canvas>
</div>

关于javascript - Chart.js:饼图的宽度和高度不受尊重,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49489193/

相关文章:

c# - 谁能告诉我在应用 CSS 时哪里出错了

javascript - 防止初始数组排序

javascript - 用于 Handlebars 助手的 JSdoc doclet

html - 强制 li 元素继承其容器的全宽

javascript - 自动滚动到鼠标滚轮的下一个 anchor

javascript - 根据范围过滤 angular.js 数组

javascript - Tailwindcss 不适用于 next.js;配置有什么问题?

javascript - 如何获取onclick调用对象?

css - 背景图片需要一段时间才能加载到 wordpress divi 主题中

javascript - 仅使用 HTML 和 CSS 创建下拉按钮?