문제

이 예에 표시된 누적 영역형 차트 사용http://nvd3.com/ghpages/stackedArea.html

y축 눈금 레이블과 도구 설명 레이블을 부동 소수점 대신 정수로 포맷하려고 합니다.다음 코드를 변경해 보았습니다.

chart.yAxis
        .axisLabel('Users')
        .tickFormat(d3.format(',.2f'));

에게

chart.yAxis
        .axisLabel('Users')
        .tickFormat(d3.format(',.0d'));

정밀도는 변경되지 않습니다(여전히 100분의 1자리까지 값을 표시함).나는 Github Wiki를 따라갔지만 아무 소용이 없었습니다. https://github.com/mbostock/d3/wiki/Formatting#wiki-d3_format

어떤 제안이나 힌트라도 주시면 감사하겠습니다.

도움이 되었습니까?

해결책

처럼 보인다 이것은 nvd3에서 지원되지 않습니다 지금은.위반을 참조하십시오 .

또한 형식 사양이 올바르지 않습니다.문서에서 언급했듯이, "d" 정수가 아닌 값을 무시합니다.그래서 당신은 아마 원할 것입니다 ",.0f" 대신에 이는 다음을 의미합니다.

  • ,:수천 단위를 구분하려면 쉼표를 사용하세요.
  • .0: 정도 0(정확한 의미는 무엇에 따라 다름) 유형 사용 중입니다.)
  • f:그만큼 유형;이 경우, Number.toFixed.이는 고정된 자릿수를 의미합니다( 정도)는 소수점 이하로 표시되며, 필요시 반올림 처리됩니다.

다른 팁

이 하나는 레이블 텍스트를 float에서 정수로 포맷 할 수 있습니다.

원형 차트 :

chart.pie.valueFormat(d3.format(',.0d'));

라인 차트 :

chart.yAxisTickFormat(d3.format(',.0d'));
.

.tickFormat 메소드의 .yAxis 메소드가 올바르게 업데이트되지 않습니다.이것은 사용 된 작업입니다 :

        chart.yAxisTickFormat(d3.format(',.0d'));
.

나는 이렇게 시도했다

.axisLabel('%').tickFormat(function(d) { return parseFloat(d).toFixed(1) + "%"; });
.

그것의 그것의 저것은 소수점과 백분율로 결과를 얻고 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top