Текущий архив: 2005.02.13;
Скачать: CL | DM;
Вниз
работа с TChart Найти похожие ветки
← →
Ser_max (2005-01-30 00:16) [0]Привет всем! Воттут очередные вопросы:
1) надо на графике отложить по оси ОХ 9 чисел (от 0 до 9), а нарисовать, возможно только до 7 цифры..то есть как продлить ось ОХ, нишо на ней не рисуя?
2) Если есть два графика, которые рисуются по ходу дела (вершины вычисляются), то как узнать их точку пересечения (1 график - линия вверх-вниз кривая, 2 график - прямая Y=....)
3) Как подписывать графики вдоль самой линии?
Заранее благодарен
← →
olookin © (2005-01-30 00:28) [1]1) Minimum и Maximum оси LeftAxis или BottomAxis
2) Этот код, думаю, поможет понять, как это делать:
procedure LabelShowOnMouse(Chart: TChart; X,Y: integer; ShowLabel: TLabel;
ShowInterval: integer);
var i,j: integer;
xx,yy,xx2,yy2,k,b: double;
stop: boolean;
begin
with Chart do begin stop:=false;
for i:=0 to SeriesCount-1 do if not stop then
for j:=0 to Series[i].XValues.Count-2 do begin
xx:=Series[i].CalcXPosValue(Series[i].XValues.Value[j]);
yy:=Series[i].CalcYPosValue(Series[i].YValues.Value[j]);
xx2:=Series[i].CalcXPosValue(Series[i].XValues.Value[j+1]);
yy2:=Series[i].CalcYPosValue(Series[i].YValues.Value[j+1]);
if (xx-xx2=0) or (xx=0) then Continue;
b:=(yy2*xx-yy*xx2)/(xx-xx2); k:=(yy-b)/xx;
if (X>=xx) and (X<=xx2) then
if (Y>=X*k+b-2) and (Y<=X*k+b+2) then begin
ShowLabel.Caption:=Series[i].Title; ShowLabel.Parent:=Chart;
ShowLabel.Visible:=true; ShowLabel.Left:=X;
ShowLabel.Top:=Y-ShowLabel.Height-ShowInterval; stop:=true; end;
if stop then break; end; end;
if not stop then ShowLabel.Visible:=false;
end;
3) не понял...
← →
Ser_max (2005-01-31 03:26) [2]Спсибо за первые два! а вот
3) как подписывать график вдоль линии, т.е. как в школе делали - чертили y=x и подписывали его вдоль линии, то есть под углом..
Страницы: 1 вся ветка
Текущий архив: 2005.02.13;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.027 c