ChartJS - 有什么方法可以删除饼图周围的空白区域?

时间:2017-01-09 11:26:45

标签: javascript margin chart.js space

Pie chart

我正在处理左侧和右侧有不需要的间距的图表。我一直在尝试删除它,没有运气,我不知道现在还能做什么。我已经彻底阅读了文档,但似乎无法找到解决方案。这可能吗?如果有必要提供更多信息,请告诉我,我会提供。

编辑:

<div>
<canvas id="chart-gender"></canvas>  
</div>


<script>
var gender_data = [10, 35];

var graph_gender_preset = {
    labels: ["Female", "Male"],
    datasets: [
        {
            data: gender_data,
            backgroundColor: ["#0fa0e3", "#ff3549"]
        }
    ]
};

var ctx3 = $("#chart-gender");

var chart_gender = new Chart(ctx3, {
type: 'doughnut',
data: graph_gender_preset,
options: {
        responsive: true,
        title: {
            display: false,
            position: "top",
            fontStyle: "bold",
            fontSize: 0,
            fullWidth: false,
            padding: 0
        },
        legend: {
            display: false,
            position: "top",
            fullWidth: false,
            labels: { display: false, usePointStyle: true, fontSize: 15, fontStyle: "bold" }

        }
    }
});
</script>

4 个答案:

答案 0 :(得分:12)

问题不在于甜甜圈,而是使用它的画布。

甜甜圈必须使用二次方框,否则它看起来像一个省略号。因此,如果您更改画布的大小并使其成为二次方,则您将不再拥有任何边框。

这是JS Fiddle example

<table border="1">
  <tr>
    <td>
      First
    </td>
    <td>
      <canvas width="100%" height="100%" id="myChart"></canvas>
    </td>
    <td>
      Third
    </td>
  </tr>
</table>

答案 1 :(得分:5)

我最近遇到了同样的问题。我的解决方案是使用

更改图表的长宽比
options: { aspectRatio: 1 }

根据文档here,默认值设置为2。如果将其更改为1,则图表画布将为正方形,并且在甜甜圈/饼图周围将没有所有空格。

希望这对某人有帮助!

答案 2 :(得分:0)

经过大量研究,我发现设置宽度和高度会删除该空间。

<div>
<canvas id="chart-gender" width="300" height="300"></canvas>  
</div>

答案 3 :(得分:0)

我认为响应式需要设置为false,然后height和width属性的工作方式如下:

const options= {
 responsive: false
} 
<div>
  <canvas id="chart-gender" width="300" options={options} height="300"></canvas>  
</div>