Я попытался настроить мою собственную пользовательскую ось 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
Спасибо, я уже использую ручной режим (как уже упоминалось в моей должности). Мне нужна настройка меток и галочек для нелинейной оси, и я сделал это, установив режим в ручной режим и отрегулировав метки и позиции тика в соответствии с обычной вероятностью (связанный с png i является результатом этой работы с иллюминатором сюжет). поэтому все работает хорошо, кроме позиционирования метки. я с нетерпением жду следующей версии :) –
в любом случае, на данный момент я смог заставить его работать должным образом, отрегулировав свойство привязки метки в зависимости от размера строки. все хорошо выровнены теперь даже с отрицательными размерами галочек, но немного «взломанными» и не лучшим решением. –
Рад, что вы это решили, Андре! Следующий выпуск должен сделать его намного проще. –