0
私は、資金調達額に米国のさまざまな州が与えられているいくつかの単純なデータから棒グラフを作成しようとしています。私はまた、州が繰り返される各州のための総資金を見出したいと思います。 dc.cssがコメントアウトされているため、グラフがうまく見えません。DC.jsの文字列名による単純なBarchartグループD3.js&crossfilter.js
文字列「NY」でグループ化できないという問題が発生しました。しかし、それは別の方法で可能ですか?ここで
は
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF8">
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.17/d3.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/crossfilter/1.3.12/crossfilter.min.js"></script>
<script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/dc/1.7.5/dc.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.js" type="text/javascript"></script>
<!-- <link rel="stylesheet" type="text/css" href="../static/css/dc.css" media="screen" /> -->
</head>
<body>
<div>
<h2>Bar Chart</h2></div>
<div id="barchart"></div>
<script>
var data = [{
state: "NJ",
fund: 2811.59
}, {
state: "NC",
fund: 449.98
}, {
state: "NY",
fund: 174.53
}, {
state: "NC",
fund: 500.32
}, {
state: "MD",
fund: 420.87
}, {
state: "OR",
fund: 2300.71
}, {
state: "PA",
fund: 360.59
}, {
state: "NY",
fund: 508.91
}, {
state: "PA",
fund: 454.91
}, {
state: "PA",
fund: 357.85
}];
var fundingBarChart = dc.barChart("#barchart");
var ndx = crossfilter(data),
stateDim = ndx.dimension(function(d) {
return d.state;
}),
state_funds = stateDim.group().reduceSum(function(d) {
return d.fund;
});
fundingBarChart
.width(500).height(200)
.dimension(stateDim)
// .renderArea(true)
.x(d3.scale.linear().domain([0, data.length + 1]))
.dimension(stateDim)
.group(state_funds)
.brushOn(true)
.legend(dc.legend().x(50).y(10).itemHeight(13).gap(5))
.yAxisLabel("Funding by State")
.xAxisLabel("State")
.elasticX(true);
// dc.renderAll();
fundingBarChart.render();
</script>
</body>
</html>
は多分これは完全にこれを行うには間違った方法で、すべてのコードです。
EDIT
は、私は少し
var data = [{
run: 1,
state: "NJ",
fund: 2811.59
}, {
run: 2,
state: "NC",
fund: 449.98
}, {
run: 3,
state: "NY",
fund: 174.53
}, {
run: 2,
state: "NC",
fund: 500.32
}, {
run: 4,
state: "MD",
fund: 420.87
}, {
run: 5,
state: "OR",
fund: 2300.71
}, {
run: 6,
state: "PA",
fund: 360.59
}, {
run: 3,
state: "NY",
fund: 508.91
}, {
run: 6,
state: "PA",
fund: 454.91
}, {
run: 6,
state: "PA",
fund: 357.85
}];
と
stateDim = ndx.dimension(function(d) {
// return d.state;
return d.run;
}),
を追加すること、にデータを変更することで動作するようになったし、それはグラフを描画しません。しかし、なぜ私は国家名をグループ化できないのか分かりません。
おかげで、私はそれを解決しhereからのポストを使用して