如何从日期中获取年份并在 angularjs 图表中使用它

How to get year from the dates and use it in angularjs chart

嗨,我正在研究 angularjs 图表。这里呈现的图表数据在 date format ("dd-mm-yyyy") 中,我必须从 date 中获取 year 并将其显示在图表中。但我不确定如何从提供的数据中获取 year。在图表图像中,x 轴代表特定年份的份额,y 轴代表百分比。在发布的图像中,您可以看到沿 y 轴的红色框显示完整 date,而我只想在 y 轴中显示年份。请帮助我。

html:

<html>
<head>
  <title> 
   <script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.1/angular.min.js"></script>
   <script src="https://cdnjs.cloudflare.com/ajax/libs/angular-charts/0.2.7/angular-charts.min.js"></script>
   <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.4.0/Chart.js"></script>
  </title>
  <body>
  <div ng-app="chartApp" ng-controller="chartController">
    <canvas width="600" height="400" type="column2d" dataformat="json"
               dataSource="{{myDataSource}}"></canvas>
   </div>
   </body>
   </html>

控制器:

var chartApp =angular.module("chartApp",["chart.js"]);
chartApp.controller("chartController",function($scope){

$scope.myDataSource = {
          chart:{ caption : "Share Check with previous years"},
          data :[{
                  label: "26/01/2010/", 
                  value: "80"},

                 {label : "26/01/2011" ,
                  value : "70"},

                 {label : "26/01/2012",
                  value : "52"},

                 {label : "26/01/2013",
                  value : "5"},

                 {label : "26/01/2014",
                  value : "33"},

                 {label : "26/01/2015",
                  value : "47"}]};
           });

为什么不在将其分配给图表之前修改 data

var data = [{
  "label": "20/11/2012",
  "value": "880000"
}];

angular.forEach(data, function(item) {
  item.label = item.label.split('/')[2];
});

$scope.myDataSource.data = data;

FusionCharts 目前不允许直接使用日期和时间值进行操作。

尽管对于您描述的场景,可以通过将 data.label (日期值) 拆分为年份值来实现。

你也可以 check this JSFiddle with your data 同样。