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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.11.2013, 12:33   #1
Punk_Joker
 
Регистрация: 15.05.2012
Сообщений: 4
По умолчанию TChart: выделение координат точки на осях

Имеется график:


Необходимо реализовать что-то типа этого:


Как можно добиться этого? Уже несколько часов немогу с этим разобраться.
Punk_Joker вне форума Ответить с цитированием
Старый 24.11.2013, 13:36   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Примерно в таком направлении
Код:
procedure TForm1.Button1Click(Sender: TObject);
var i: Integer;
begin
  {x от -5 до 5 c шагом 0.1;  y=x^2}
  for i:=-50 to 50 do Chart1.Series[0].AddXY(i/10,i*i/100,'',RGB(0,0,255));
end;

procedure TForm1.Chart1BeforeDrawSeries(Sender: TObject);
var i,xLeft,xTop: Integer;
begin
  {для x=2}
  for i:=0 to Chart1.Series[0].Count-1 do
    if Chart1.Series[0].XValue[i]=2 then begin
      Chart1.Canvas.Pen.Color:=clBlack;
      xLeft:=Chart1.Series[0].CalcXPos(i);
      xTop:=Chart1.Series[0].CalcYPos(i);
      Chart1.Canvas.MoveTo(xLeft,Chart1.ChartRect.Bottom);
      Chart1.Canvas.LineTo(xLeft,xTop);
      Chart1.Canvas.LineTo(Chart1.ChartRect.Left,xTop);
      Exit;
    end
end;
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 24.11.2013, 13:41   #3
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

...вы хотите две направляющие с осей на вашу точку? Типа такого?

http://www.youtube.com/watch?v=Y2l67-52J-Q

Просто добавьте еще две серии на чарт, для вертикала и горизонтала по известным координатам [X,Y] вашей точки:
Код:
 for i:= 0 to Y do
   ch.Series[1].Addxy(x, i); // верт

 for i:= 0 to X do
   ch.Series[2].Addxy(i, y); // гориз
Или просто отрисовуйте сами на канвасе чарта по OnAfterDraw().
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 24.11.2013, 23:04   #4
Punk_Joker
 
Регистрация: 15.05.2012
Сообщений: 4
По умолчанию

А каким образом добавить подписи на осях?
Punk_Joker вне форума Ответить с цитированием
Старый 25.11.2013, 08:31   #5
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

...вы про какие подписи? Title?
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 25.11.2013, 09:33   #6
Punk_Joker
 
Регистрация: 15.05.2012
Сообщений: 4
По умолчанию

Подписи на координатных осях. Мне необходимо дополнительно выделить на них координаты нужной точки. Примерно как на втором скрине а первом моем посте
Punk_Joker вне форума Ответить с цитированием
Старый 25.11.2013, 09:36   #7
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Если на канвас рисовали, что мешает там же надпись пристроить Canvas.TexOut
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 25.11.2013, 10:36   #8
Punk_Joker
 
Регистрация: 15.05.2012
Сообщений: 4
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Если на канвас рисовали, что мешает там же надпись пристроить Canvas.TexOut
На обычном TChart'е.
Punk_Joker вне форума Ответить с цитированием
Старый 25.11.2013, 11:00   #9
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

...у чарта есть канвас, отрисовуйте по событию onafterdraw(), как сказал в посту #3.

Пример:

http://www.youtube.com/watch?v=0H-l-fb88s4
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Tchart вывод координат в файл sokolvano Общие вопросы Delphi 0 20.10.2012 14:18
Получение координат точки. ТриСемёрки C++ Builder 3 15.12.2011 15:08
Точки координат strannik23 Паскаль, Turbo Pascal, PascalABC.NET 4 22.11.2011 19:34
Построение системы координат TChart vitlav Общие вопросы Delphi 1 10.06.2011 08:32
Отображение координат точки Nadina Помощь студентам 3 18.04.2009 10:59