1

もう少し高度な軸用に独自のカスタム y 軸を構成しようとしました (ノルム確率プロット、結果については、リンクされた png を参照してください)。

http://img5.fotos-hochladen.net/uploads/labelmisaligned2cd86m4qov.png

ティックモードは「手動」に設定されています。目盛り線を内側に向けたいと思います。これは、科学的なトピックのプロットでは、もう少し「専門的」に見えることがあります)。そのため、TickLengthプロパティを -0.5 に設定します (ただし、問題は方向に依存しません)。「内側」のプロパティはありません。少なくとも見つけられなかったので、このアイデアを試してみました。これは目盛り線で機能しました。この構成では、目盛りラベルが軸に正しく整列しなくなります (画像を参照)。だから私はアンカーと位置のプロパティで少し遊んだ。個々のティックの位置プロパティは、によって設定されます

    tick.Label.Position = new Vector3(2f, 0, 0);

問題は、このプロパティが効果がないことです。この問題の原因となっているコードを元のソース コードで検索したところ、見つかりました。position プロパティは、「ワールド」の原点と目盛り線の位置のみに依存する値によって軸が構築されるたびに上書きされます。カスタム位置設定が消去されます。

だから私の質問は:

  • この動作は意図されたものですか、それともバグですか?
  • バグではない場合、軸の目盛りラベルを軸線に合わせて整列するにはどうすればよいですか?

まとめ: ticks ラベルの position プロパティは効果がありません。標準の目盛り方向を使用すると、自動テキスト配置は「OK」です(ただし、テキストから軸への距離とテキスト自体の右/左配置(テキストブロック配置)を制御できると便利です)場合)。ラベルを軸の位置に変更したい場合、機能しません。プロ並みのプロットには、これらのフォーマット機能が不可欠だと思います。

ILAxis.csのConfigureAxisメソッドは、次の foreach ブロック内のすべてのラベル位置を上書きします。

    foreach (ILTick tick in Ticks) {
                float curVal = tick.Position - min; 
                Vector3 curPos = startWorld + a * curVal;
                tickPosArr[i++] = curPos.X; tickPosArr[i++] = curPos.Y; tickPosArr[i++] = curPos.Z;
                if (Ticks.TickLength < 0)
                    tick.Label.Position = curPos;
                curPos += (tickDirWorldStartLines + ticka * curVal);
                tickPosArr[i++] = curPos.X; tickPosArr[i++] = curPos.Y; tickPosArr[i++] = curPos.Z;
                if (Ticks.TickLength >= 0)
                    tick.Label.Position = curPos;

乾杯、

アンドレ

編集:

私のコメントで述べたように、アンカープロパティを使用して「回避策」を見つけました

http://www.fotos-hochladen.net/uploads/unbenanntcs7kreytib.png

4

1 に答える 1

1

質問の最初の部分は、次のバージョンで修正される問題http://ilnumerics.net/mantis/view.php?id=168に対応しています。一般に、ティックは回転などのユーザー インタラクションで自動的に配置されます。軸に関する目盛りラベルの相対位置に応じて、目盛りラベルの位置とアンカーが常に調整されます。固定値は、まれな状況でのみ役立ちます。

ただし、自動設定に依存したくない場合は、カスタムの目盛りラベルを使用して独自の設定を構成できます。「ILAxis.Ticks.Mode = TickMode.Manual」を使用して、個々の目盛りを追加できます。各目盛りには、軸構成関数内で上書きされない個別のラベルがある場合があります。

参照: 軸と目盛りの構成に関するすべて: http://ilnumerics.net/axis-configuration.html

于 2014-02-11T14:59:55.640 に答える