1

現在、リアルタイムチャートを作成中です。WebSocket 経由で流入するデータは、基本的に単純なタイムスタンプと値のペアで構成され、時間ベースの折れ線グラフで描画されます。今、私は問題に遭遇しました.最も安定したエレガントな方法は何だろうかと思います:

グラフの Y スケーリングは動的でなければならないため、表示されるデータの最小値と最大値を常に監視する必要があります。データ配列から最小/最大値を取得し、それらをチャートの下限と上限として設定するだけなので、この部分は簡単です。

ここで、これらの制限値にパディングを追加して、適切で丸みのある制限値を取得したいと考えました。たとえば、指定された範囲の最大値が である場合、24.7上限を にしたいとします30。私が必要としているのは、次の上位の "nice" 値を出力する 1 つのパラメーターを持つ関数です。ここではいくつかの例を示します。

     0.13  -->      1
    97.2   -->    100
    17.08  -->     20
   768     -->    800
    -3.4   -->      0
116843     --> 200000
     0.003 -->      0.01

使用できる数学関数はありますか? 私は間違いなく安定したものを必要としていますが、数字を数え始めて最初の数字を解析するなど、非常に醜いものでなければ、それを達成する方法がわかりません。

事前にご協力いただきありがとうございます。

よろしく、 ロブ

PS: 上限の値を取得することについて話しました。もちろん、下限の関数も必要ですが、解が見つかったら、上限の関数からそれを導き出すことができると思います。

4

1 に答える 1