質問

私は 2D プロッターを作成しており、X 軸と Y 軸に沿って値が印刷されたマーカーを持っています。さて、私の質問は次のとおりです。適切な距離を見つけるにはどうすればよいですか?

私の方法(数値軸の場合)はこれまでのところ次のとおりです。

  • 画面上の軸の高さをピクセル単位で知っています
  • マーカー間の最適な距離 (画面上で適切に見える距離など) をピクセル単位で決定します (例: 32 ピクセル)。
  • ピクセル数を軸の値に合わせて再計算します (たとえば、軸が 320 ピクセルで、軸の範囲が 0 ~ 40 °C の場合、値は 32 * (40/320) = 4 となります。したがって、最適な距離は 4 °C です。)
  • 1 °C の距離から始めます。距離が最適な距離より大きい場合は、最適な距離未満になるまで距離を 2 で割ります。同様に、距離が最適な距離より小さい場合は、最適な距離より大きくなるまで 2 を掛けます。

これは機能しますが、手動で選択した場合と同じ距離が得られません。例えば:範囲が 0 ~ 1000 の場合、次の距離のいずれかを決定します。

  • 1000 (0, 1000
  • 500 (0, 500, 1000)
  • 250 (0, 250, 500, 750, 1000)
  • 200 (0, 200, 400, 600, 800, 1000)
  • 100 (0, 100, ..., 900, 1000)
  • 50 (0, 50, ..., 950, 1000)

等々 ...

何か賢いアイデアはありますか?

役に立ちましたか?

解決

役立つかもしれない1つの提案は、あなたの軸の範囲の大きさに基づいて、ルックアップテーブルを定義し、見栄えのするかを予め決定する距離です。しかし、あまりにも多くのデータを持っているあなたの軸は、標準の範囲に戻って正規化されていることを確認する必要が保存します。

ですから、例えば、範囲を計算し、その後、あなたのルックアップテーブルの最も近い値を見つけ、1-100の範囲に戻って正規化し、その距離を使用します。

は、Excelを使用している場合、あなたは彼らが作成した結果で見ることができると私は多くの場合、私は手動でExcelが明確にするため、最大スロー距離をオーバーライドする必要があることを見つけるが、あなたが、そこから有用なアルゴリズムを収集することができるかどうかを確認。これは、手動オーバーライドを持つことは、あまりにも、あなたのアプリケーションのための重要な特徴であることが判明するかもしれません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top