2014-02-11 1 views
1

Я попытался настроить мою собственную пользовательскую ось y для немного более продвинутой оси (график вероятности вероятности, для результата посмотрите на связанный png):ilnumerics оси метки позиции перепутаны в ручном режиме и свойство позиции метки не работает

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

Режим тика установлен на «ручной». Я хочу, чтобы клеточные линии направлялись внутрь, что иногда выглядит немного «профессиональным» на сюжетах для научных тем). поэтому я устанавливаю значение TickLength на -0.5 (но проблема не зависит от направления). нет никакого «внутреннего» свойства, по крайней мере, я не мог найти его, поэтому я пробовал эту идею, которая работала на линии тика. С этой конфигурацией метки тика больше не правильно выровнены с осью (см. Изображение). поэтому я немного поиграл с привязкой и свойствами позиции. свойство местоположения индивидуального тика устанавливается

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

Проблема в том, что это свойство не действует. поэтому я искал в исходном исходном коде для кода, который вызывает эту проблему, и я нашел его. свойство position перезаписывается все время, когда ось строится по некоторым значениям, которые зависят только от истоков «мира» и позиций линий тика. настройка пользовательской позиции стирается.

поэтому мой вопрос:

  • это поведение предназначено или ошибка?
  • , и если это не ошибка, как я могу присвоить метку метки оси, чтобы она была хорошо привязана к осевой линии?

Чтобы обернуть это: свойство position метки тиков не действует. Автоматическое выравнивание текста - это «ok», когда я использую стандартное направление тика (хотя было бы неплохо иметь возможность управлять текстом на расстояние оси и выравнивание текста вправо/влево (выравнивание текстового блока) даже для этого дело). Если я хочу изменить метку на позицию оси, она не работает. Я думаю, что для профессионально выглядящих сюжетов эти составляющие функции необходимы.

ConfigureAxis метод ILAxis.cs перезаписывает все позиции меток в следующем блоке Еогеасп:

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; 

приветствий,

andré

редактировать:

, как указано в моих комментариях я нашел «обойти», используя свойство якорного

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

ответ

1

Первой часть вашего вопроса рассматривается вопрос http://ilnumerics.net/mantis/view.php?id=168 который будет исправлен в следующей версии. В целом, тики автоматически позиционируются на пользовательском взаимодействии, таком как вращение. В зависимости от относительного положения меток метки относительно оси, положение метки метки и якоря постоянно регулируются. Фиксированное значение будет полезно только в редких ситуациях.

Однако вы можете настроить собственную настройку с помощью пользовательских меток ярлыков, если вы не хотите полагаться на автоматические настройки. Вы можете использовать «ILAxis.Ticks.Mode = TickMode.Manual» и добавить отдельные тики. Каждый тик может иметь свою индивидуальную метку, которая не перезаписывается в функции конфигурации оси.

См: все вокруг оси + клещей конфигурации: http://ilnumerics.net/axis-configuration.html

+0

Спасибо, я уже использую ручной режим (как уже упоминалось в моей должности). Мне нужна настройка меток и галочек для нелинейной оси, и я сделал это, установив режим в ручной режим и отрегулировав метки и позиции тика в соответствии с обычной вероятностью (связанный с png i является результатом этой работы с иллюминатором сюжет). поэтому все работает хорошо, кроме позиционирования метки. я с нетерпением жду следующей версии :) –

+0

в любом случае, на данный момент я смог заставить его работать должным образом, отрегулировав свойство привязки метки в зависимости от размера строки. все хорошо выровнены теперь даже с отрицательными размерами галочек, но немного «взломанными» и не лучшим решением. –

+0

Рад, что вы это решили, Андре! Следующий выпуск должен сделать его намного проще. –