私は、C#/ WPFを使用して、医療データ用のデータシリーズビューアプログラムを設計しています(プログラミングではありません)。データを表示するメインパネルが1つあり、一般的なマウスのパン/ズーム機能(左ドラッグによるパン、スクロールによる水平ズーム、ダブルクリックによる垂直自動調整、右ドラッグによる選択)があります。
問題は次のとおりです。オーディオ編集(goldwave、audacity)、地図作成(gpsTrackmaker)、イラスト(photoshop、inkscape)プログラムで見られるものと同様に、左上に定規がある垂直および水平グリッドが必要です。さらに、これらの定規は、ほとんどのプロットAPI(Matlab、GNUPlot、Matplotlib)、さらにはオフィスプログラム(Excel、Calc)でも構成可能です。
主な必要条件は、常にコンテンツに合わせて拡大縮小されることに加えて、ラベルが互いに「ぶつかる」または隠れることなく、可能な限り最大の粒度で目盛りラベルのみを描画する「アンチクラッター」アルゴリズムを持つことです。
以下は、Inkscape上の同じ図面の2つのズームレベルを示す画像です。最初の行には、100個のラベルが表示されます。2行目は、各10年のラベルを示しています。
質問は次のとおりです。「これ(表示ルーラーの自動解決)は多くのプログラムで解決された問題のようです。どのように検索すればよいですか/利用可能なリソース/チュートリアルは何ですか?適切なコントロールを指定して実装できます私のニーズは?」
できればC#での提案や例をいただければ幸いですが、どの言語でもかまいません。