2009-11-08 5 views
3

나는 시간과 공간에 따라 사람들을 매핑하는 그래프가 어느 지점에서 표시되는지를 생각하고 있습니다. 수직 액세스는 위치이고, 수평 액세스는 시간이며, 각 사람은 라인으로 식별됩니다. 그 사람이 무언가 중요한 것을 한 어떤 지점에서, 그들의 라인에 더 큰 점이 있습니다. 개념적으로 점을 클릭하면 해당 점에 대한 데이터가 표시되지만 행의 다른 곳을 클릭하면 해당 점에 대한 세부 정보가 표시됩니다. 가설적으로, 선 위로 마우스를 가져 가면 선이 색이 바뀌고 점 위에 마우스를 가져 가면 점 만 색을 변경해야합니다.HTML 캔버스를 사용하는 클릭 가능한 선과 원

나는 플래시로 이것을 아주 쉽게 할 수 있다는 것을 알고 있지만 요즘에는 HTML과 자바 스크립트만을 사용하는 방법이 있는지 궁금해하고있다. 가능한가? (호환성은 문제가되지 않습니다. 대상 컴퓨터는 내 컴퓨터뿐입니다.)

고마워!

답변

3

캔버스에서이 작업을 수행 할 수 있지만 SVG를 사용하는 것이 더 간단 할 수 있습니다.

SVG는 DOM을 사용하기 때문에 캔버스에서 필요로하는 것처럼 독자적인 처리 코드를 작성하는 대신 클릭 등의 이벤트 처리를위한 내장 메소드를 제공합니다.

Raphael 및 Dojo의 dojox.gfx 라이브러리와 같이 SVG를 사용하여보다 간단하고 상호 브라우저 호환이 가능한 라이브러리가 몇 가지 있습니다.

0

오버레이 된 div으로 도트를 만들 수 있으므로 클릭 등을 쉽게 처리 할 수 ​​있습니다. 물론 위치를 매우 정교하게 정렬해야합니다. 그러나 선을 강조 표시하려면 수동으로 점 대 선 거리를 계산하고 다시 그려야합니다.

관련 문제