2017-04-21 20 views
2

私はJFreeChartからdygraphsへの切り替えを評価していますが、x軸に1-log(x)の値を持つ方法を探しています。大(90%、99%、99.9%、99.99%など)のダニがあります。それが可能な変換機能を提供することにあるいずれかグラフでx軸のスケーリングをカスタマイズできます

a)のグラフにおける位置へのデータから

又は

B)可視化変換(Iは正規化された形式でデータを生成することができるが、その後のすべてのラベルがなければなりません

を検索すると、線形/対数変換を設定する場所が1つではないことがわかりました。したがって、私はa)に対して懐疑的です。

ありがとうございます(JFreeChartはこの機能を自然に提供していませんが、私はJavaにもっと習熟しているので、これを一緒にハックすることができました)。

答えて

1

x軸にカスタムtickerを書くと、グラフに好きなように表示できます。実装のドキュメント参照this explanatory comment。インスピレーションについては、this answerを参照してください。

g = new Dygraph(div, data, { 
    axes: { 
    x: { 
     ticker(min, max, pixels, opts, dygraph, vals) { 
     return [ 
      { v: 0.9, label:'90%' }, 
      { v: 0.99, label: '99%' }, 
      { v: 0.999, label: '99.9%' } 
     ]; 
     } 
    } 
    } 
}); 

対数スケールでそれをレンダリングするためとして、あなたの最善の策は、(valueFormatterを使用して)表示のために戻ってそれらを変換し、その後、dygraphsに渡す前に、あなたのx値を変換することです。

関連する問題