2016-07-02 4 views
0

Я хотел бы сделать это: Resizable Force LayoutResize центрирования сила/изменение центра - d3js v4

Но используя d3v4!

Я думаю, что я должен преобразовать эту строку, от v3 до v4

force.size([width, height]).resume(); 

В v4 док, я нашел это: v4 Doc about centering force/center.x & center.y

Я пробовал много вещей! Но безуспешно.

Заранее спасибо :)

(И большое спасибо mbostock для создания d3js: D)

ответ

4

я понял документ!

var simulation = d3 
    .forceSimulation() 
    .force("center", d3.forceCenter(window.innerWidth/2, window.innerHeight/2)) 

Чтобы изменить центр

simulation.force("center") 
    .x(window.innerWidth/2) 
    .y(window.innerHeight/2); 

simulation.alpha(0.3).restart(); 
+0

Я пытаюсь использовать это, но это на самом деле не работает для меня. Тем не менее, я вижу, как код меняет положение графика силы, но я не вижу, чтобы он изменял его размер (уменьшаться или расширяться) в зависимости от изменяющегося окна. – Fede9390

+0

@ Fede9390 Если вы хотите изменить размер элемента SVG в соответствии с размером окна: 'window.addEventListener (" resize ", function() { \t svg.attr (" width ", window.innerWidth) .attr (" height msgstr " –