角度图表默认情况下如何显示图例数据值以及图例名称

时间:2016-09-22 05:26:17

标签: angularjs chart.js angular-chart

我正在使用angularjs图表,Chart.min.js和angular-chart.min.js

它仅显示图例"标签"我也希望看到"数据"默认情况下,与标签一起作为图例的一部分或在饼图部分本身内。

任何人都可以帮忙吗?

    HTML:
    <div class="col-lg-6 col-sm-12" ng-controller="PieCtrl">
                  <div class="panel panel-default">
                    <div class="panel-heading">Pie Chart</div>
                    <div class="panel-body">
                        <canvas id="pie" class="chart chart-pie" chart-data="data" chart-labels="labels" chart-options="options" chart-hover="chartOver"  chart-click="chartPortionClick"></canvas> 
                     </div>
                  </div>
                </div>

    JS:
      var app = angular.module('demoApp', ['chart.js', 'ui.bootstrap']);
          app.controller('PieCtrl', ['$scope', function ($scope) {
            $scope.labels = ['Download Sales', 'In-Store Sales', 'Mail Sales','test'];
            $scope.data = [300, 500, 100, 10];
            $scope.options = { legend: { display: true } };
      }]);

2 个答案:

答案 0 :(得分:1)

我使用角度图1.0.2。在我的版本中,我这样使用它;

$scope.options = {
    legend: {display: true},
    legendTemplate:
    "<ul class=\"<%=name.toLowerCase()%>-legend\">" +
      "<% for (var i=0; i<segments.length; i++){%>" +
        "<li>" +
          "<span style=\"background-color:<%=segments[i].fillColor%>\"></span>" +
          "<%=segments[i].label%> (<%=segments[i].value%>)" +
        "</li>" +
      "<%}%>" +
    "</ul>",
};

答案 1 :(得分:0)

您需要使用legendTemplate,请确保替换应用中的$ scope.data:P

var options = {
legendTemplate: "<ul><% for (var i=0; i<data.length; i++){%><li><span style=\"background-color:<%=data[i].color%>\"></span><%=data[i].label%> - <%=data[i].value%></li><%}%></ul>"

}

看到这个jsfiddle

http://jsfiddle.net/vrwjfg9z/3010/