2011-04-11 8 views
2

Protovis는 실제로이 방법으로 사용하기위한 것이 아니지만 현재 pv.Panel에있는 항목을 삭제하고 패널을 새로 고치고 다시 render()을 삭제하는 방법이 있습니까?Protovis force re-render

정적으로 작성되어 웹 서버를 통해 주기적으로 업데이트되는 시각화를 위해 작업하고 있습니다.

답변

5

예, 패널을 파괴하지 않고도 Protovis를 다시 렌더링 할 수 있습니다. 패널에서 사용한 데이터를 업데이트하고 다시 렌더링을 호출 할 수 있습니다. 예 :

var data = [1, 2, 3]; 

var panel = new pv.Panel() 
    .data(data) 
    .add(pv.Bar) 
    ... 

panel.render(); // initial render 

data = [4, 5, 6]; 
panel.data(data); // update the data 
panel.render(); // re-render 
+0

감사합니다. 실제로 위의 솔루션이 작동하는 동안 데이터 경계를 기반으로하는 변화하는 척도와 같은 것에 확장되지 않기 때문에 패널의 모든 하위 항목을 보이지 않게 만들고 새 아이를 다시 추가하여 해결했습니다. 1-10의 데이터를 그래프로 나타내고 다음 버전의 데이터가 1-50까지 나오면 데이터를 업데이트하여 그래프의 크기를 조정할 수는 없습니까? – nicolaskruchten

+0

Nicolas, 정확합니다. 데이터를 조정할 때 데이터를 기반으로 도메인이나 범위를 변경하려면 축척 개체를 다시 작성해야합니다. – bsterne