Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
1 / 1 / 1
Регистрация: 28.02.2018
Сообщений: 28
1
RAD XE3+

В Chart не отображаются слишком длинные Label на нижней оси

24.04.2018, 13:42. Показов 1308. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
При добавлении новых значений через Series.Add(Число,Label,Цвет) происходит такая неприятность что система игнорирует слишком длинные по её мнению Label, видимо стремясь чтобы они не залезали друг на друга.
Каким образом это можно исправить?
Я залез в справку фирмы что делала Charts, кстати всем рекомендую потому что там весьма подробно все описано.
По свойствам Label есть несколько опций что касаются этой проблемы. Больше всего меня порадовала опция LabelsMultiLine, но вот в чем суть Если я её прописываю, то буквально ничего не происходит, вообще ничего, картинка не меняется.


Delphi
1
2
3
4
5
6
7
8
9
10
11
  With Chart1.bottomAxis do
 begin
  Chart1.bottomAxis.LabelsMultiLine:=True;
  Title.Caption := 'ДОЛЖНОСТИ';
 end;
 
 for I := 1 to  TableResults.RowCount-1 do
 begin
 series1.add(strToreal(TableResults.Cells[6,i])),[U]TableResults.Cells[1,i][/U],CPW);
 series2.add(strToreal(TableResults.Cells[4,i])),'',CMW);
 end;
Если я должен воспользоваться той процедурой, что описана в конце справки, то подскажите, пожалуйста, как это сделать.

At run-time(Как я понимаю у меня как раз Label добавляются run-time, потому я не заранее их прописываю, а беру из таблицы?) you can always split the label into lines programatically using the OnGetAxisLabel event:

Delphi
1
2
3
4
5
procedure TForm1.Chart1GetAxisLabel(Sender: TChartAxis;
Series: TChartSeries; ValueIndex: Integer; var LabelText: String);
begin
TeeSplitInLines(LabelText,' '); 
end;
Заранее спасибо за вашу помощь!
Миниатюры
В Chart не отображаются слишком длинные Label на нижней оси  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.04.2018, 13:42
Ответы с готовыми решениями:

Chart - подписать по нижней оси
Ребята здравствуйте! проблемка есть связанная с chart'ом: Надо подписать по нижней оси чтобы шаги...

Слишком длинные строки в таблице
Всем привет! Столкнулась с вот такой проблемой. DBGrid1 - таблица заполняемая запросом ADOQuery1....

На нижней панели не отображаются открытые приложения
Ubuntu 10.10 Удалял нижнюю панель. Потом назад её поставил, но на ней перестали отображаться...

Можно ли управлять нижней панелью окна Excel, где отображаются листы и скролбар?
В свойствах Workbook не нашёл ничего похожего. Может ли VBA этим управлять?

1
1 / 1 / 1
Регистрация: 28.02.2018
Сообщений: 28
24.04.2018, 13:50  [ТС] 2
Чем разбираться в тонкостях, решил проблему написав такую функцию

// вставка №13 вместо пробелов, если длина строчки слишком велика
Delphi
1
2
3
4
5
6
7
8
9
10
11
  function BreakLongLine(s:string):string;
  var k:integer;
  begin
    k:=length(s);
    if k<8 then result:=s
    else
    begin
    result:=StringReplace(S,' ',#13,[rfReplaceAll, rfIgnoreCase]);
    end;
 
  end;
но сообщение удалять не буду, вдруг кому-нибудь пригодиться.
0
24.04.2018, 13:50
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.04.2018, 13:50
Помогаю со студенческими работами здесь

Поменять верхнюю часть матрици с нижней симметрично относительно горизонтальной оси сектора матрицы
Заполните матрицу случайными числами(размерность 9х9). Отобразить симметрично относительно...

Задача: "Слишком длинные слова" (RUNTIME_ERROR)
&quot;RUNTIME_ERROR&quot; при отправлении. В чем ошибка и как сделать правильно? Текст задачи: A. Слишком...

Отображение оси Chart
Доброго дня. Возможно это уже кто-то спрашивал, но я так и не смог найти (видимо потому что не смог...

Подписать оси на Chart
Добрый день! Возник вопрос. Как можно подписать оси в компоненте Chart. Например, вдоль Х...

Не отображаются серии в Chart
пробовал в ембаркадере сначала программно заполнить серию - она просто не отображается, хотя...

Поменять значения оси Chart
В свой график добавил вторую ось по иксу (сверху) ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru