第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何修復(fù) d3 中的多刷圖表

如何修復(fù) d3 中的多刷圖表

慕田峪7331174 2023-06-15 17:26:05
我太近了,這快要了我的命。我已經(jīng)為一列生成了一個(gè)簡(jiǎn)單的畫(huà)筆,它生成了完美設(shè)置的限制。問(wèn)題是我想要多列 ['A'、'B'、'C'、'D'] 的多個(gè)畫(huà)筆。我可以把它寫(xiě)四次,但我把它放在一個(gè)似乎不起作用的函數(shù)中。請(qǐng)查看下面的工作代碼,我已經(jīng)注釋掉了不起作用的部分。我知道我需要以某種方式綁定數(shù)據(jù)并進(jìn)行循環(huán),但我該如何有效地做到這一點(diǎn)?var margin = {    top: 20,    right: 20,    bottom: 30,    left: 50  },  width = 960 - margin.left - margin.right,  height = 180 - margin.top - margin.bottom;var x = d3.scale.ordinal()  .domain(["A", "B", "C", "D"])  .rangeBands([0, 200])var y = d3.scale.linear()  .range([height, 0])  .domain([0, 100])var xAxis = d3.svg.axis()  .scale(x)var svg = d3.select("#timeline").append("svg")  .attr("width", width + margin.left + margin.right)  .attr("height", height + margin.top + margin.bottom)  .append("g")  .attr("transform", "translate(" + margin.left + "," + margin.top + ")");// define brush control element and its eventsvar brush = d3.svg.brush().y(y)  .on("brushend", () => console.log('A Extent: ', brush.extent()))// create svg group with class brush and call brush on itvar brushg = svg.append("g")  .attr("class", "brush")  .call(brush);// set brush extent to rect and define objects heightbrushg.selectAll("rect")  .attr("x", x("A"))  .attr("width", 20);/*var brush = (d) => {    var brush = d3.svg.brush().y(y)                          .on("brushend", () => console.log(d, ' Extent: ', brush.extent()))          var brushg = svg.append("g")        .attr("class", "brush")        .call(brush1);    brushg.selectAll("rect")        .attr("x", x("A"))        .attr("width", 20); } */.brush {  fill: lightgray;  fill-opacity: .75;  shape-rendering: crispEdges;}<script src='https://cdnjs.cloudflare.com/ajax/libs/d3/3.4.6/d3.min.js'></script><div class="container">  <div id="timeline"></div></div>
查看完整描述

1 回答

?
MM們

TA貢獻(xiàn)1886條經(jīng)驗(yàn) 獲得超2個(gè)贊

將畫(huà)筆視為數(shù)據(jù),因?yàn)樗鼈冇成涞?x 軸上的每個(gè)序數(shù)值。使用 .enter 創(chuàng)建畫(huà)筆并附加所有必要的功能。.each 函數(shù)類似于調(diào)用,但分別在每個(gè)元素上運(yùn)行。這對(duì)于包含畫(huà)筆的生成非常有用。


xData = ["A", "B", "C", "D"];


var margin = {

    top: 20,

    right: 20,

    bottom: 30,

    left: 50

  },

  width = 960 - margin.left - margin.right,

  height = 180 - margin.top - margin.bottom;



var x = d3.scale.ordinal()

  .domain(xData)

  .rangeBands([0, 200])


var y = d3.scale.linear()

  .range([height, 0])

  .domain([0, 100])


var xAxis = d3.svg.axis()

  .scale(x)


var svg = d3.select("#timeline").append("svg")

  .attr("width", width + margin.left + margin.right)

  .attr("height", height + margin.top + margin.bottom)

  .append("g")

  .attr("transform", "translate(" + margin.left + "," + margin.top + ")");


  

const brushes = svg.selectAll('g.brush')

  .data(xData)

  .enter()

  .append('g')

  .attr('class', 'brush')

  .each(function(d) {

    const el = d3.select(this);

    

    const brush = d3.svg.brush().y(y).on("brushend", () => console.log(d, ' Extent: ', brush.extent()));

    

    el.call(brush);

    

    el.selectAll("rect")

      .attr("x", x(d))

      .attr("width", 20);

   });

.brush {

  fill: lightgray;

  fill-opacity: .75;

  shape-rendering: crispEdges;

}

<script src='https://cdnjs.cloudflare.com/ajax/libs/d3/3.4.6/d3.min.js'></script>

<div class="container">

  <div id="timeline"></div>

</div>


查看完整回答
反對(duì) 回復(fù) 2023-06-15
  • 1 回答
  • 0 關(guān)注
  • 157 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)