D3 꺾은 선형 차트에 대화 형 기능 (선 및 레이블)을 추가하는 방법은 무엇입니까?

라훌 데 사이

나는 내 프로젝트 중 하나를 처음 사용 D3.js하고 현재 개발 line chart중입니다. 여기 에서 설명서와 예제를 참조 하고 여기에서 고유 한 버전을 만들었습니다 . 이제 여기에 두 가지 대화 형 기능을 추가 할 계획입니다.

  1. 차트에서 마우스를 가져 가면 가장 가까운 데이터 포인트에 수직선을 그립니다.
  2. 이 수직선 옆에 X 및 Y 속성이있는 레이블을 표시합니다.

이 기능을 더 명확하게하려면이 를 참조하십시오 .

제안에서 나온 시도는 다음과 같습니다.

svg.append("g")        // creating new 'group' element
.selectAll('rect')     // adding a rectangle for the label
.selectAll('line');    // adding a line

그러나 선과 사각형은 표시되지 않습니다. 나는 인터넷 검색을 많이 해왔지만 헛된 것은 아닙니다. 내가 무엇을 놓치고 있습니까?

jsFiddle

Mosho
//create groups for line and label (and invisible selection area)
var infos = svg.append('g')
  .selectAll('rect')
  .data(data)
  .enter()
  .append('g')
//move to datapoint location
  .attr('transform',function(d,i){d.x = x(d.date)  ; d.y = 0; return "translate(" + d.x + "," + d.y + ")";});

//create and select line "rectangles" (easier than doing actual lines)
infos.append("rect")
.attr('class','line')
.attr('height', height)
.attr('width', 1)
.attr('opacity',0);

//create and select line "rectangles" (easier than doing actual lines)
infos.append("rect")
.attr('class','area')
.attr('height', height)
//should probably do something to make sure they don't overlap, such as measure distance between neighbours and use that as width
.attr('width', width/data.length/2)
.attr('opacity',0)
//move so that the data point is in the middle
.attr('x',-width/data.length/4)
.on('mouseover', function(){
    g_elem = this.parentNode;
    d3.select(g_elem).selectAll(".line").attr("opacity",1);
})
.on('mouseout', function(){
    g_elem = this.parentNode;
    d3.select(g_elem).selectAll(".line").attr("opacity",0);
});

http://jsfiddle.net/SKb8W/7/

레이블의 경우 다음과 같은 유용한 예가 있습니다. http://jsfiddle.net/WLYUY/5/ ( D3.js에서 : 마우스 위치가 아닌 요소 위치를 사용하여 툴팁 위치 지정? )

마우스 좌표를 사용하려면 다음과 같이 할 수 있습니다.

var coordinates = [0, 0];
coordinates = d3.mouse(this);
var x = coordinates[0];
var y = coordinates[1];

( D3의 마우스 위치에서 )

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

레이어가있는 꺾은 선형 차트에서 확대 / 축소 충돌을 피하는 방법은 무엇입니까?

분류에서Dev

꺾은 선형 차트에 추가 포인트 정보를 표시하는 방법은 무엇입니까?

분류에서Dev

Altair의 꺾은 선형 차트 끝에 레이블 추가

분류에서Dev

D3 꺾은 선형 차트에 도구 설명 및 데이터 포인트가 제대로 표시되지 않음

분류에서Dev

d3에서 복잡한 데이터 구조로 꺾은 선형 차트를 그리는 방법

분류에서Dev

인포 테이블을 기반으로 동적 꺾은 선형 차트를 그리는 방법은 무엇입니까?

분류에서Dev

r의 범주 열을 기반으로 highchart에서 꺾은 선형 차트의 색상을 변경하는 방법은 무엇입니까?

분류에서Dev

꺾은 선형 차트에 여러 배경색을 추가하는 방법

분류에서Dev

꺾은 선형 차트에 여러 배경색을 추가하는 방법

분류에서Dev

D3 여러 누적 꺾은 선형 차트에 점 추가

분류에서Dev

matplotlib의 y 축에 꺾은 선형 차트의 최소 및 최대를 표시하는 방법이 있습니까?

분류에서Dev

Google 차트를 사용하여 데이터 테이블에 꺾은 선형 차트를 그리는 방법은 무엇입니까?

분류에서Dev

꺾은 선형 차트의 Google 시각화 'animationstart'에 대한 해결 방법이 있습니까?

분류에서Dev

두 축에 날짜가있는 꺾은 선형 차트를 만드는 방법은 무엇입니까?

분류에서Dev

꺾은 선형 차트에 24 시간 열만 표시하는 방법은 무엇입니까?

분류에서Dev

d3.js 세로 x 축 레이블로 꺾은 선형 차트를 그리는 방법

분류에서Dev

d3 꺾은 선형 차트에서 선과 영역 모두 스타일을 지정하려면 어떻게해야합니까?

분류에서Dev

D3js 꺾은 선형 차트가 값과 x 축을 렌더링하지 못하는 이유는 무엇입니까?

분류에서Dev

알테어에서 꺾은 선형 차트에서 연결된 포인트의 크기를 설정하는 방법은 무엇입니까?

분류에서Dev

기존 원형 차트 아래에 꺾은 선형 차트 추가

분류에서Dev

MS Excel 꺾은 선형 차트에서 각 제품에 대해 서로 다른 가로 (카테고리) 레이블을 설정하는 방법

분류에서Dev

하나의 VizFrame에 꺾은 선형 차트 및 분산 형 차트 표시

분류에서Dev

다른 축으로 다중 유형 차트를 만드는 막대 차트에 XY 선을 추가하는 방법은 무엇입니까?

분류에서Dev

시간 경과에 따라 확대 / 축소 가능한 d3 꺾은 선형 차트를 어떻게 그리나요?

분류에서Dev

SSRS : 꺾은 선형 차트 추가

분류에서Dev

d3 꺾은 선형 차트에서 가장 높은 값과 가장 낮은 값에 원 추가

분류에서Dev

Matplotlib-막대 차트에 꺾은 선형 차트 오버레이 및 yticks 정렬

분류에서Dev

내 d3 꺾은 선형 차트가 이상해 보이는데 무엇이 잘못되었는지 알아낼 수 없습니다.

분류에서Dev

Plotly : 여러 꺾은 선형 차트를 단일 그림으로 출력하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    레이어가있는 꺾은 선형 차트에서 확대 / 축소 충돌을 피하는 방법은 무엇입니까?

  2. 2

    꺾은 선형 차트에 추가 포인트 정보를 표시하는 방법은 무엇입니까?

  3. 3

    Altair의 꺾은 선형 차트 끝에 레이블 추가

  4. 4

    D3 꺾은 선형 차트에 도구 설명 및 데이터 포인트가 제대로 표시되지 않음

  5. 5

    d3에서 복잡한 데이터 구조로 꺾은 선형 차트를 그리는 방법

  6. 6

    인포 테이블을 기반으로 동적 꺾은 선형 차트를 그리는 방법은 무엇입니까?

  7. 7

    r의 범주 열을 기반으로 highchart에서 꺾은 선형 차트의 색상을 변경하는 방법은 무엇입니까?

  8. 8

    꺾은 선형 차트에 여러 배경색을 추가하는 방법

  9. 9

    꺾은 선형 차트에 여러 배경색을 추가하는 방법

  10. 10

    D3 여러 누적 꺾은 선형 차트에 점 추가

  11. 11

    matplotlib의 y 축에 꺾은 선형 차트의 최소 및 최대를 표시하는 방법이 있습니까?

  12. 12

    Google 차트를 사용하여 데이터 테이블에 꺾은 선형 차트를 그리는 방법은 무엇입니까?

  13. 13

    꺾은 선형 차트의 Google 시각화 'animationstart'에 대한 해결 방법이 있습니까?

  14. 14

    두 축에 날짜가있는 꺾은 선형 차트를 만드는 방법은 무엇입니까?

  15. 15

    꺾은 선형 차트에 24 시간 열만 표시하는 방법은 무엇입니까?

  16. 16

    d3.js 세로 x 축 레이블로 꺾은 선형 차트를 그리는 방법

  17. 17

    d3 꺾은 선형 차트에서 선과 영역 모두 스타일을 지정하려면 어떻게해야합니까?

  18. 18

    D3js 꺾은 선형 차트가 값과 x 축을 렌더링하지 못하는 이유는 무엇입니까?

  19. 19

    알테어에서 꺾은 선형 차트에서 연결된 포인트의 크기를 설정하는 방법은 무엇입니까?

  20. 20

    기존 원형 차트 아래에 꺾은 선형 차트 추가

  21. 21

    MS Excel 꺾은 선형 차트에서 각 제품에 대해 서로 다른 가로 (카테고리) 레이블을 설정하는 방법

  22. 22

    하나의 VizFrame에 꺾은 선형 차트 및 분산 형 차트 표시

  23. 23

    다른 축으로 다중 유형 차트를 만드는 막대 차트에 XY 선을 추가하는 방법은 무엇입니까?

  24. 24

    시간 경과에 따라 확대 / 축소 가능한 d3 꺾은 선형 차트를 어떻게 그리나요?

  25. 25

    SSRS : 꺾은 선형 차트 추가

  26. 26

    d3 꺾은 선형 차트에서 가장 높은 값과 가장 낮은 값에 원 추가

  27. 27

    Matplotlib-막대 차트에 꺾은 선형 차트 오버레이 및 yticks 정렬

  28. 28

    내 d3 꺾은 선형 차트가 이상해 보이는데 무엇이 잘못되었는지 알아낼 수 없습니다.

  29. 29

    Plotly : 여러 꺾은 선형 차트를 단일 그림으로 출력하는 방법은 무엇입니까?

뜨겁다태그

보관