javascript - 在圆环图中显示多个数据信息

标签 javascript jquery html css

我想根据下图在圆环图中显示多个信息 enter image description here

任何人请告诉我该怎么做。这是工作示例:https://jsfiddle.net/qpem8fzv/1/

我想显示 100% 的总数据和部分的其他数据。有关详细信息,请参阅附图。

var doughnutData = [{
    value: 100,
    color: "#F7464A",
    highlight: "#FF5A5E",
    label: "Red",
  },
  {
    value: 25,
    color: "#46BFBD",
    highlight: "#5AD3D1",
    label: "Green"
  },
  {
    value: 50,
    color: "#FDB45C",
    highlight: "#FFC870",
    label: "Yellow"
  }

];

var ctx1 = $("#d1").get(0).getContext("2d");
var myChart1 = new Chart(ctx1).Doughnut(doughnutData, {
  percentageInnerCutout: 90
});
#w {
  position: relative;
  height: 200px;
  width: 200px;
}

#d1 {
  position: absolute;
}

#d1 {
  top: 0px;
  left: 0px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="w">
  <canvas id="d1" height="200" width="200"></canvas>
</div>

最佳答案

该图表将使用所有段的总值作为 100%。因此,实现您想要的效果的最简单方法是从分割中排除 100% 的值(value),并包括一个分割作为剩余部分,直到 100%。

所以...在您的示例中,从 doughnutData 中删除第一段,并在末尾添加一个,如下所示:

    var doughnutData = [
        {
            value: 25,
            color: "#46BFBD",
            highlight: "#5AD3D1",
            label: "Green"
        },
        {
            value: 50,
            color: "#FDB45C",
            highlight: "#FFC870",
            label: "Yellow"
        },
        {
            value:25,
            color:"#F7464A",
            highlight: "#FF5A5E",
            label: "Red",
        },
    ];

添加的段的值为 100 -(第一​​段的值:25)-(第二段的值:50)= 25。然后您只需为 100% 段添加另一个标签。

编辑: 以上的jsfiddle:https://jsfiddle.net/vcdruo2f/2/

虽然这确实意味着悬停工具提示对于“总计”部分是不正确的,但它在逻辑上是正确的,以便显示 100%,这正是您在饼图/圆环图中想要的。

另请参阅:http://www.chartjs.org/docs/latest/configuration/tooltip.html

关于javascript - 在圆环图中显示多个数据信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46272724/

相关文章:

javascript - 如何获得一个月的最后一天

php - XMLHttpRequest 适用于 FireFox,不适用于 Safari

javascript - 替换字符串值

javascript - MP4 视频无法在浏览器上播放

html - 如何使标题边框/其他内容不与左侧图像重叠?

html - IE6 错误位置 :fixed rendering with absolute positioning

javascript - Ldapjs 无法连接到服务器

javascript - Jquery 和常规 Javascript 干扰

javascript - 更改 css 链接并等待新的 css 加载

javascript - 有没有简单的方法可以找到 jQuery 代码的 "javascript equivalent"?