Нет, это не зависит от длины текста, однако ...
Это зависит от различных других вещей:
- Горизонтальное и вертикальное выравнивание текстового поля (см .: Местоположение )
- Текущий размер панели. Размер шрифта динамически масштабируется, чтобы соответствовать изменяющемуся размеру диаграммы.
- Подсчет правильных позиций, чтобы TextObj (или любой другой объект) всегда находился в одном и том же месте, довольно сложно. Поэтому вам нужно избегать как можно больше любых чисел / дробей в координатах вашего местоположения. ZedGraph иногда вычисляет истинное положение довольно странным образом.
Вы не предоставили никакого кода, поэтому трудно сказать, если и где вы допустили ошибку (если есть). Но на вашем месте я бы сделал что-то подобное:
TextObj fakeTitle = new TextObj("some title\n ", 0.0, 0.0); // I'm using \n to have additional line - this would give me some space, margin.
fakeTitle.Location.CoordinateFrame = CoordType.ChartFraction;
fakeTitle.Location.AlignH = AlignH.Left; // Left align - that's what you need
fakeTitle.Location.AlignV = AlignV.Bottom; // Bottom - it means, that left bottom corner of your object would be located at the left top corner of the chart (point (0,0))
fakeTitle.FontSpec.Border.IsVisible = false; // Disable the border
fakeTitle.FontSpec.Fill.IsVisible = false; // ... and the fill. You don't need it.
zg1.MasterPane[0].GraphObjList.Add(fakeTitle);
Я использую ChartFraction
координаты вместо PaneFraction
(как предполагает Дхаррис), чтобы заголовок был аккуратно выровнен по левой границе диаграммы. В противном случае он будет полностью сброшен на левую сторону (без полей и т. Д.) - так выглядит лучше.
Но убедитесь, что вы не установили слишком большой размер шрифта - он может быть обрезан сверху