Форум программистов, компьютерный форум, киберфорум
Lazarus
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/21: Рейтинг темы: голосов - 21, средняя оценка - 4.62
Особый статус
623 / 221 / 164
Регистрация: 18.11.2015
Сообщений: 1,086
1

Подписи к значениям TChart по оси Х

19.12.2015, 12:04. Показов 4275. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Проблема заключается в том, что подписи все одинаковые.
Знаю что код не правильный, но как сделать, чтобы подписи брались из столбца таблицы (StringGrid) по очереди и прописывались тоже так же?
Код:
Delphi
1
2
3
4
5
6
7
8
9
procedure TForm1.Chart1AxisList1MarkToText(var AText: String; AMark: Double);
var
i: Byte;
begin
  for i:= 1 to 10 do begin
   AText:= Stringgrid1.cells[4,i]; // думал пойдет, но берет только последнее значение
// как использовать тут AMark?
  end;
end;
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.12.2015, 12:04
Ответы с готовыми решениями:

Подписи оси в Tchart
Собственно проблема с подписями. Если максимальное значение = граница меньше 6, то начало оси...

TChart - подписи по осям
Я добавляю точки через AddXY и хочу, чтобы подписи были с градацией по целым числам (вообще, у меня...

Подписи (Marks) к точкам в TChart
Здравствуйте. У Series в Tchart есть свойство Marks, которое выводит возле точек подписи. Как...

Как добавить дополнительные подписи к значениям диаграммы?
Ситуация такая необходимо отразить такие данные на графике а именно 3 строку: ...

8
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32835 / 21172 / 8148
Регистрация: 22.10.2011
Сообщений: 36,431
Записей в блоге: 8
19.12.2015, 13:04 2
Что у тебя в AMark передается? Какие значения? Пример приведи, лучше всего - скриншотом, как выглядит чарт на тот момент, когда ты хочешь подменить текст подписей.
0
Особый статус
623 / 221 / 164
Регистрация: 18.11.2015
Сообщений: 1,086
19.12.2015, 14:00  [ТС] 3
volvo,
Цитата Сообщение от volvo Посмотреть сообщение
Что у тебя в AMark передается? Какие значения?
Не совсем понял...
Цитата Сообщение от volvo Посмотреть сообщение
Пример приведи, лучше всего - скриншотом
Скрин с датами, так должен выглядеть, точнее он так и выглядит, просто везде одно и тоже значение последней ячейки
Цитата Сообщение от volvo Посмотреть сообщение
как выглядит чарт на тот момент, когда ты хочешь подменить текст подписей
Как выглядит? Ну выглядит так же, только на оси абсцисс на шкале в место дат были числа от 1 до 10, с такими же равными интервалами.
Миниатюры
Подписи к значениям TChart по оси Х  
0
Особый статус
623 / 221 / 164
Регистрация: 18.11.2015
Сообщений: 1,086
19.12.2015, 14:06  [ТС] 4
Кстати, по вашему примеру же
Вот:
Delphi
1
2
3
4
procedure TForm1.Chart1AxisList1MarkToText(var AText: String; AMark: Double);
begin
  AText := DateTimeToStr(AMark); // но тут выводит все последовательно +1 месяц интервал вроде
end;
Если конечно надо, то вот, ось Y: по полю "сумма покупки"
Delphi
1
2
3
4
5
6
7
8
i: Integer;
begin
 
    With  Chart1LineSeries1 do begin
      for i:=1 to 10 do begin
       Chart1LineSeries1.AddY(StrToFloat(StringGrid1.Cells[9,i]), '', clRed);  
     end;
      end;
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32835 / 21172 / 8148
Регистрация: 22.10.2011
Сообщений: 36,431
Записей в блоге: 8
19.12.2015, 14:32 5
Лучший ответ Сообщение было отмечено FloppyDisc как решение

Решение

FloppyDisc, а стазу написать:
Pascal
1
2
3
4
  for i := 1 to 10 do
    Chart1LineSeries1.AddY(StrToFloat(StringGrid1.Cells[9, i]), StringGrid1.Cells[4, i], clRed);
  Chart1.BottomAxis.Marks.Source := Chart1LineSeries1.Source;
  Chart1.BottomAxis.Marks.Style := smsLabel;
- это слишком просто, нужно обязательно еще обработчик события добавить?
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
19.12.2015, 19:30 6
Интересно почему у меня ругается на smsLabel?
В инспекторе объектов это выбираешь, нормально...
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32835 / 21172 / 8148
Регистрация: 22.10.2011
Сообщений: 36,431
Записей в блоге: 8
19.12.2015, 21:06 7
Цитата Сообщение от Puporev Посмотреть сообщение
Интересно почему у меня ругается на smsLabel?
Потому что модуль TAChartUtils не подключен, наверное?
1
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
19.12.2015, 21:23 8
Естественно. Ты мне это уже писал, но я забыл.
0
Особый статус
623 / 221 / 164
Регистрация: 18.11.2015
Сообщений: 1,086
20.12.2015, 01:03  [ТС] 9
Мы, чайники, такие, не ищем легких путей
0
20.12.2015, 01:03
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.12.2015, 01:03
Помогаю со студенческими работами здесь

График, подписи к оси х
Пожалуйста! Помогите!!! Есть график, обычный, по х-у даты, по у-ку числовые данные. Ставишь в...

Подписи к горизонтальной оси
Создаю график Charts.Add ActiveChart.SetSourceData Source:=Sheets("Лист1").Range("D1:D10")...

Изменение подписи горизонтальной оси
Здравствуйте! Скажите, может кто-то знает, как менять подписи горизонтальной оси для каждого ряда...

оси TChart'а
Доброе время суток. Проблема банальная до невозможности!. Рисую в Tchart'е график точечного...


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

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