簡體   English   中英

d3堆疊條形圖-從y0開始,而不是yMax

[英]d3 stacked bar chart - start at y0, not yMax

我有這個堆積的條形圖: http : //jsfiddle.net/maneesha/n7eLLnrm/2/

問題在於,看起來堆疊從yMax開始並下降,而不是在y0上升。

當我在每個系列(年)中擁有相同的人數(人數)時,這不是問題,起初也不明顯。 現在幾年來有更多的人,我意識到有些問題。 我在哪里解決這個問題?

我的代碼中一些可能相關的部分:

yScale = d3.scale.linear()
    .domain([0, yMax])
    .range([height, 0]),

//////

rects = groups.selectAll('rect')
    .data(function (d) {
        return d;
        })
    .enter()
    .append('rect')
    .attr('x', function (d) {
        return xScale(d.x);
        })
    .attr('y', function (d) {
        return height - yScale(d.y0);
        })
    .attr('height', function (d) {
        return height - yScale(d.y);

        })
    .attr('width', function (d) {

        return xScale.rangeBand();
        })

更改代碼:

.attr('y', function (d) {
  return height - yScale(d.y0);
})
.attr('height', function (d) {
  return height - yScale(d.y);
})

改為以下代碼:

.attr('y', function (d) {
  return yScale(d.y0 + d.y);
})
.attr('height', function (d) {
  return yScale(d.y0) - yScale(d.y0 + d.y);
})

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM