2017-02-20 6 views
3

Я сделал this(SOLVED) диаграмму, и я не могу понять, как обновить clipPath. Я закомментированаобновление clipPath рядом с динамическим yaxis в d3js

y.domain(d3.extent(data, function(d) { return d[city]; })); 

в функции изменения, поскольку он не обновит clipPath наряду с YAxis, я пытался присвоить класс к clipPath и обновить у и высота атрибут в изменении но ничего не работает.

Был бы очень признателен, если кто-нибудь знает, что я делаю неправильно, или почему обновление ClipPath невозможно.

ответ

1

Вы устанавливаете новый домен, но вы также должны обновить эти вещи, основанные на домене (как клип-трактов и y0 района):

y.domain(d3.extent(data, function(d) { return d[city]; })); // fix clipPath 

svg.select('#clip-below>rect') 
    .attr("y", y(1)) 
    .attr("height", height - y(1)); 
svg.select('#clip-above>rect') 
    .attr("height", y(1)); 
area.y0(y(1)); 

Вот обновленный bl.ocks.

+0

Спасибо за ответ, что именно делает секция '> rect'? Я никогда этого не видел. –

+1

'# clip-below> rect' означает найти элемент' rect', который имеет родителя с идентификатором «clip-below». – Mark

 Смежные вопросы

  • Нет связанных вопросов^_^