Задать вопрос

Как расположить колонки ровно по середине?

Хочу расположить колонки ровно по середине значения промежутка между готами ? Не совсем понимаю как в данный момент отрабатывает функция оси.

var svg = d3.select(this.$refs.lineDiagramGraph)
            .append('svg')
            .attr('width', 1000 )
            .attr('height', 600);

          let margin = 200,
          width = svg.attr("width") - margin,
          height = svg.attr("height") - margin

      var xScale = d3.scaleBand().range([0, width]).padding(0.4),
          yScale = d3.scaleLinear().range([height, 0]);

      var g = svg.append("g")
          .attr("transform", "translate(" + 100 + "," + 100 + ")");

      xScale.domain(this.items.map(function (d) {
        return d.year;
      }));
      yScale.domain([0, d3.max(this.items, function (d) {
        return d.value;
      })]);

      g.append("g")
          .attr("transform", "translate(0," + height + ")")
          .call(d3.axisBottom(xScale))
          .append("text")
          .attr("y", height - 250)
          .attr("x", width - 100)
          .attr("text-anchor", "end")
          .attr("stroke", "black");

      g.selectAll(".bar")
          .data(this.items)
          .enter().append("rect")
          .attr("class", "forecast")
          .attr("x", function (d) {
            return xScale(d.year);
          })
          .attr("y", function (d) {
            return yScale(d.value);
          })
          .attr("width", 8)
          .attr("height", function (d) {
            return height - yScale(d.value);
          });


data: function () {
      return {
        items: [
          {
            year: 2012,
            value: 47
          },
          {
            year: 2013,
            value: 52
          },
          {
            year: 2014,
            value: 70
          },
          {
            year: 2015,
            value: 75
          },
          {
            year: 2016,
            value: 78
          },
        ]
      }
    },


6017d36e999be733441748.png
  • Вопрос задан
  • 19 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы