Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.06.2015, 10:09   #1
viks1
человек
Форумчанин
 
Аватар для viks1
 
Регистрация: 11.05.2009
Сообщений: 517
По умолчанию side by side chart

Доброго времени суток.
Я не могу разобраться как работать с диаграммой по типу side by side.

У меня есть кол-во пациентов (по У, с лева) с определенными заболеваниями(что есть отображаемые данные) ,а в низу , по
Х, должны быть разделены эти все значения по годам.
Примерно такое вот нашел что то...

Помогите, как такое реализовать в chart или DBChart?


Я порылся в самом компоненте, нашел такой тип, создаю Series и каждый сериес появляется под значением 0 , 1 (там где должно быть значение год)
Как с этим работать я не могу понять.
Изображения
Тип файла: png bar_chart_example2.png (6.0 Кб, 39 просмотров)
Тип файла: jpg k21bFKXvytI.jpg (106.9 Кб, 46 просмотров)

Последний раз редактировалось viks1; 14.06.2015 в 10:51.
viks1 вне форума Ответить с цитированием
Старый 14.06.2015, 18:16   #2
viks1
человек
Форумчанин
 
Аватар для viks1
 
Регистрация: 11.05.2009
Сообщений: 517
По умолчанию

Никто с этим не работал?
viks1 вне форума Ответить с цитированием
Старый 14.06.2015, 18:54   #3
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Так, что ли?
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Chart1.Series[0].Title:='аБСД';
  Chart1.Series[0].AddXY(2013,120);
  Chart1.Series[0].AddXY(2014,145);
  Chart1.Series[0].AddXY(2015,110);

  Chart1.Series[1].Title:='жзклмн';
  Chart1.Series[1].AddXY(2013,160);
  Chart1.Series[1].AddXY(2014,114);
  Chart1.Series[1].AddXY(2015,155);

  Chart1.Series[2].Title:='ЪЫьэюя';
  Chart1.Series[2].AddXY(2013,110);
  Chart1.Series[2].AddXY(2014,109);
  Chart1.Series[2].AddXY(2015,130);
end;
Изображения
Тип файла: jpg Безымянный.jpg (59.1 Кб, 39 просмотров)
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 14.06.2015 в 18:58.
Аватар вне форума Ответить с цитированием
Старый 14.06.2015, 19:06   #4
viks1
человек
Форумчанин
 
Аватар для viks1
 
Регистрация: 11.05.2009
Сообщений: 517
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Так, что ли?
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Chart1.Series[0].Title:='аБСД';
  Chart1.Series[0].AddXY(2013,120);
  Chart1.Series[0].AddXY(2014,145);
  Chart1.Series[0].AddXY(2015,110);

  Chart1.Series[1].Title:='жзклмн';
  Chart1.Series[1].AddXY(2013,160);
  Chart1.Series[1].AddXY(2014,114);
  Chart1.Series[1].AddXY(2015,155);

  Chart1.Series[2].Title:='ЪЫьэюя';
  Chart1.Series[2].AddXY(2013,110);
  Chart1.Series[2].AddXY(2014,109);
  Chart1.Series[2].AddXY(2015,130);
end;
Вопрос:
Серии при таком коде создаются динамически? или их вручную создавали?
viks1 вне форума Ответить с цитированием
Старый 14.06.2015, 19:08   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Мышкой набросал. Можно и динамически, что меняется?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 14.06.2015, 19:15   #6
viks1
человек
Форумчанин
 
Аватар для viks1
 
Регистрация: 11.05.2009
Сообщений: 517
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Мышкой набросал. Можно и динамически, что меняется?
Меняется год.
Диаграмма строится на основе данных о заболеваниях в соотношении годов и количества заболевших в данный год.

К примеру : есть 6 заболеваний каких-то, (каждый прямоугольик соответсвует им), за 2014, 2015 ... год(по оси Х) , и по оси У количество пациентов с данным заболеванием.

Год правда в формате дд.мм.гггг, но это с помою ФорматДейт переделаю. Мне главное понять логику построения данных графиков.
Я примерно понял. Как динамически создавать подобные серии?

Последний раз редактировалось viks1; 14.06.2015 в 20:20.
viks1 вне форума Ответить с цитированием
Старый 14.06.2015, 20:15   #7
viks1
человек
Форумчанин
 
Аватар для viks1
 
Регистрация: 11.05.2009
Сообщений: 517
По умолчанию

SELECT Мед_карта.ID_заболевания, Count(Мед_карта.ID_пациента) AS col, FORMAT(Мед_карта.[Дата_заболевания], 'yyyy') as data
FROM Мед_карта
GROUP BY Мед_карта.ID_заболевания, FORMAT(Мед_карта.[Дата_заболевания], 'yyyy')

Вот результат выборки
на основе этого хочу построить диаграмму
Изображения
Тип файла: jpg gUPaRCUQzjM.jpg (27.2 Кб, 37 просмотров)

Последний раз редактировалось viks1; 14.06.2015 в 20:20.
viks1 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Left side cannot be assigned to... _-Re@l-_ Общие вопросы Delphi 2 24.03.2011 15:07
Ошибка Left Side cannot be assigned to.. DM_bite Помощь студентам 1 18.09.2008 21:01