2017-10-30 20 views
-1

This is the output that I would be requiring내가 내 D3 코드에서 원 상형 문자를 추가 한

This is the output that I am getting at the moment

D3에 선 그래프의 조건에 따라,하지만 난 조건에 따라 글리프를 추가 할 필요가 달 경우 그 1 월, 그 때 서클이 나타납니다! 예를 들어, 01/2019, 01/2020, 01/2021의 순서로 원은이 날짜

g.selectAll("circle") .data(dataIS) .enter() .append("circle") .attr("cx", function (d) { return x(parseTime(d.date));}) .attr("cy", function (d) { return y(d.salary + d.bonus); }) .attr("r", "4") .style("stroke","black") .style("stroke-width","2") .style("fill", "red");

이 모든 날짜에 동그라미를 생성에 나타납니다, 나는 필터링하고 그들에게 보여줄 필요 only on month Jan

+0

코드 샘플을 추가 할 수 있습니까? –

+0

StackOverflow에 오신 것을 환영합니다. 댓글에 코드를 쓰는 대신 ** 질문 **을 코드 (편집 버튼이 있음)로 편집하십시오. 또한 적절한 답변을 받으려면 관련 코드 ([MCVE])를 모두 추가하십시오. –

+0

@ MiroslavLigas - 도움을 주신 덕분에 코드를 추가했습니다! – jeet08

답변

2

데이터를 필터링하고 데이터가 1 ​​월인 경우 원을 추가 할 수 있습니까?

나는 dataIS이 일종의 배열이라고 가정합니다.

g.selectAll("circle") 
.data(
    dataIS 
    .filter(
    d =>{ 
     console.log("d is:",JSON.stringify(d,undefined,2)); 
     return d.date.getMonth() === 0 //only January 
    } 
) 
) 
.enter() 
... 
+0

@ HMR g.selectAll ("circle") .data (data.d 필터 (d => d.date.getMonth() === 0 // 1 월 만 해당) .enter() .append ("circle") .attr ("cy", function (d) {return y (d.salary + d.bonus)} .attr ("cx", function (d) {return x (parseTime (d.date)); ("stroke", "black") .style ("stroke-width", "2") .style ("fill", "darkred"); 내가 제공 한 코드를 추가했지만 축과 원이 사라지는 경우 – jeet08

+0

@ jeet08 Chrome에서 F12 키를 누르고 예외가있는 경우 개발자 도구의 콘솔 탭에서 볼 수 있습니까? . 내 생각 엔'd.date'가 정의되지 않았거나 날짜 객체가 아니기 때문에'getMonth는 함수가 아닙니다. '라고 생각합니다. 'getMonth' (업데이트 된 응답) 직전에 console.log (JSON.stringify (d, undefined, 2))를 수행하고 질문을 출력으로 업데이트 할 수 있습니다. – HMR

+0

편집 된 코드를 실행 해 보았는데 출력을 생성하지 않습니다. – jeet08