角度图表显示系列但没有数据

时间:2015-07-16 08:12:25

标签: angularjs chart.js angular-chart

当我尝试使用角度图表框架时,我可以看到我定义的系列,但不能看到标签和数据。我已将三个文件包含在我的index.html

<link rel="stylesheet" href="bower_components/angular-chart.js/dist/angular-chart.css">
<script src="bower_components/Chart.js/Chart.js"></script>
<script src="bower_components/angular-chart.js/dist/angular-chart.js"></script>

这些是我在$ scope

中定义的变量
$scope.series = ["First", "Second"];
$scope.labels = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"];
$scope.data = [
    [12, 13, 8, 4, 29],
    [6, 12, 9, 8, 25]
];

它只显示: Displays only series

我做错了什么?

编辑:经过进一步调查后,我注意到图表显示的是我回来的时候 - &gt;在页面上转发。所以通过刷新你会丢失图表...

我可以设法在刷新后通过推迟范围变量来绘制图表:

setTimeout(function (){
        $scope.labels = ["January", "February", "March", "April", "May", "June", "July"];
        $scope.series = ['Series A', 'Series B'];
        $scope.data = [
            [65, 59, 80, 81, 56, 55, 40],
            [28, 48, 40, 19, 86, 27, 90]
        ];
    }, 0);

这意味着时间问题,我无法解决。

1 个答案:

答案 0 :(得分:0)

您的图表是隐藏/显示的元素/层次结构(如ng-show或换出的类,引导面板......)?

似乎正在发生的事情是,Chart.js正在获得画布的高度(当它被角度图表初始化时,而当范围数据被更改时会发生这种情况)接近0

出于同样的原因,延迟变量更改起作用 - 因为任何父/样式导致画布具有较小的高度现在处于它的全高。