d3で作成された2つの円グラフを表示したいhtmlページがあります。個々の円グラフを個別に表示することはできますが、両方を並べて表示しようとすると、2番目のグラフは空白になります。最初のものは上手く来る。これらの円グラフは、からJavaScriptで作成された2つ目のD3円グラフをhtmlで表示できません
:
https://bl.ocks.org/mbostock/3887235
主な違いは、私は、ファイル内のJavaScriptを入れて、機能を中心に
機能piechart2それを入れ子にしているということです(){...}
私はそれぞれのパイチャートを自分の上に表示できますが、両方の円グラフを並べて表示します。この作品
<div class="row">
<h3 align="center" >Connect</h3>
<div class="row placeholders">
<div class="col-md-offset-2">
<svg width="300" height="200"></svg>
<script>piechart()</script>
</div>
</div>
が、しかし、これだけ表示さpiechar1をパイchart2
<div class="row">
<h3 align="center" >Connect</h3>
<div class="row placeholders">
<div class="col-md-offset-2">
<svg width="300" height="200"></svg>
<script>piechart2()</script>
</div>
</div>
を表示するには:
これはパイグラフ1を表示するように動作します。開発者ツールを見ると、piechar2があるはずのスペースが空白であることがわかります。
私が持っている私のファイルの頭に<div class="row">
<h3 align="center" >Connect</h3>
<div class="row placeholders">
<div class="col-md-offset-2">
<svg width="300" height="200"></svg>
<script>piechart()</script>
<script>piechart2()</script>
</div>
</div>
:
<script type="text/javascript" src="static/donut.js"></script>
<script type="text/javascript" src="static/donut2.js"></script>
ここではjavascriptのです。 2つのJSファイルbewteen唯一の違いは、1つの円グラフ()/ piechart2()と「静的/データ」/「静的/ DATA2」
function piechart() {
var svg = d3.select("svg"),
width = +svg.attr("width"),
height = +svg.attr("height"),
radius = Math.min(width, height)/2,
g = svg.append("g").attr("transform", "translate(" + width/2 + "," + height/2 + ")");
var color = d3.scaleOrdinal(["#0600f3","#f30000","#00b109"]);
var pie = d3.pie()
.sort(null)
.value(function(d) { return d.population; });
var path = d3.arc()
.outerRadius(radius - 10)
.innerRadius(0);
var label = d3.arc()
.outerRadius(radius - 40)
.innerRadius(radius - 40);
d3.csv("static/data.csv?x="+new Date().getTime(), function(d) {
d.population = +d.population;
return d;
}, function(error, data) {
if (error) throw error;
var arc = g.selectAll(".arc")
.data(pie(data))
.enter().append("g")
.attr("class", "arc");
arc.append("path")
.attr("d", path)
.attr("fill", function(d) { return color(d.data.population); });
arc.append("text")
.attr("transform", function(d) { return "translate(" + label.centroid(d) + ")"; })
.attr("dy", ".35em")
.text(function(d) { return d.data.population ; });
});
}
私は呼び出すことにより、スクリプトに円グラフを追加しているを持っていることですjavacript関数:
<script>piechart()</script>
<script>piechart2()</script>
思考? ありがとうございます!
ええと...あなたが提案した変更を加えましたが、私は同じ結果を得ているようです。 1つの円グラフが表示され、デザイナーツールに行くと2番目のsvg(svg#svg2)が表示されますが、グラフィックは表示されません。 –