【发布时间】:2015-05-21 11:06:38
【问题描述】:
我正在尝试使用 crossfilter、dc.js 和 angular-dc 绘制一个简单的条形图。行图工作正常。条形图不呈现条形。在 Chrome 中,如果我检查,我会看到值在那里。如果我强制专注,我会看到图表。我已经尝试了所有建议,但似乎有 3 个问题:
所有条形图都从 x 轴上的 0 开始。 每个条的宽度为 1 px。 条形图未在屏幕上呈现。
您能否为我提供上述问题的解决方案。 我使用以下链接创建我的条形图:https://github.com/TomNeyland/angular-dc/blob/master/example/stocks/nasdaq.html
还有其他与使用 angular-dc 的条形图相关的链接吗?
这里是示例代码:
<!DOCTYPE html>
<html lang="en">
<head>
<title>dc.js - Pie Chart Example</title>
<meta charset="UTF-8">
<link rel="stylesheet" type="text/css" href="public/lib/dcjs/web/css/dc.css"/>
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/lodash.js/2.4.1/lodash.min.js"></script>
<script type="text/javascript" src="public/lib/d3/d3.js"></script>
<script type="text/javascript" src="public/lib/crossfilter/crossfilter.js"></script>
<script type="text/javascript" src="public/lib/dcjs/dc.js"></script>
<script type="text/javascript" src="public/lib/angular/angular.js"></script>
<script type="text/javascript" src="public/lib/angular-dc/dist/angular-dc.js"></script>
</head>
<body ng-app="app">
<!-- we nicely separate the view and the data. Here, all information concerning the way to display the data
is in the template -->
<div ng-controller="myController">
<div dc-chart="pieChart"
dc-chart-group="1"
dc-width="780"
dc-height="480"
dc-inner-radius="100"
dc-dimension="fruit"
dc-group="fruitSales"
dc-legend="dc.legend()">
</div>
<div dc-chart="barChart"
dc-width="780"
dc-height="480"
dc-dimension="fruit"
dc-group="fruitSales"
dc-x="d3.scale.ordinal().domain(['','Apple','Banana'])"
dc-xUnits ="dc-units-ordinal"
dc-elastic-y="true"
dc-center-bar="true"
dc-gap="1"
dc-bar-padding="0.5"
dc-xAxisPadding="50"
dc-legend="dc.legend()">
</div>
</div>
</div>
<script type="text/javascript">
angular.module("app", ["angularDc"]);
myController = function($scope) {
var fruitCf = crossfilter([
{Name: 'Apple', Sales: 40},
{Name: 'Apple', Sales: 40},
{Name: 'Banana', Sales: 20}]);
$scope.fruit = fruitCf.dimension(function(d) {return d.Name;});
$scope.fruitSales = $scope.fruit.group().reduceSum(function(d) {return d.Sales;});
//$scope.$apply()
};
</script>
</body>
</html>
【问题讨论】:
-
在 html 中硬编码图表的属性不是很好的风格。你的问题解决了吗?如果是这样,您应该发布答案或评论
标签: javascript css angularjs dc.js