2012-07-25 8 views
18

をフォーマット。d3.js&nvd3.js軸及びラベル精度は、整数の代わりに、浮動小数点数であることがY軸目盛ラベルとツールチップラベルをフォーマットしようと <a href="http://nvd3.com/ghpages/stackedArea.html">http://nvd3.com/ghpages/stackedArea.html</a></p> <p>積層領域チャートを用い

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

精度

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

からフォローコードを変更しようとしたことは変わらない(まだ百の場所に値を示しています)。私は無駄にGithub Wikiに従ったhttps://github.com/mbostock/d3/wiki/Formatting#wiki-d3_format

すべての提案やヒントは大歓迎です。

答えて

22

現時点ではthis isn't supported by nvd3のように見えます。問題を参照してくださいline

さらに、フォーマットの仕様は正しくありません。ドキュメントに記載されているように、"d"は非整数値を無視します。だから、おそらく",.0f"が必要です。つまり、

  • ,:千単位で区切るにはカンマを使用します。
  • .0精度(正確な意味は、タイプが使用されているかどうかによって決まります)。
  • fタイプ;この場合、Number.toFixedです。つまり、固定小数点数(精度)が小数点の後に表示され、必要に応じて数値が丸められます。
+0

回答とフォーマットの概要をありがとう! – Viet

+2

他の人には便利だと思いますか?私はここでd3フォーマッタのチュートリアルを少し作っています:http://koananing.github.io/html/d3format.html – cantdutchthis

4

.yAxisメソッドの.tickFormatメソッドでは、正しく更新されません。これは、私が使用していた回避策です:

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

これは、フロートから整数にラベルテキストをフォーマットすることができます。

円グラフのため

:私はme.Iのために働いてそのがで結果を取得しています。この

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

のように試してみました

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

:折れ線グラフのための

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

小数点とパーセンテージ。

関連する問題