![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
всем привет.
такая задача построить график по данным из StringGrid, как это реализовать например в Tchart??? В таблице даны например: КПД Скольжение Трение 63 23,5 45,3 57 12,4 67,1 81 102,4 35,4 Нужно построить график зависимоти скольжения и КПД от трения! как это сделать помогите не могу разобраться!! Заранее спасибо огромное!! |
|
#2
|
|||
|
|||
|
вот обработчик на кнопку для построения графика, но ошибка при нажатии!!что не так??
Код:
procedure TForm1.btn10Click(Sender: TObject);
var
i: integer;
begin
with strngrd1 do
for i:=1 to RowCount-1 do
cht4.Series[1].AddXY(StrToFloat(strngrd1.Cells[3,i]),StrTofloat(strngrd1.Cells[4,i]),'',clTeeColor);
cht4.Series[2].AddXY(StrToFloat(strngrd1.Cells[3,i]),StrTofloat(strngrd1.Cells[5,i]),'',clTeeColor);
Series1.XValues.Order:=LoNone;
Series2.XValues.Order:=LoNone;
end;Последний раз редактировалось glorx, 16.12.2010 в 22:09. |
|
#3
|
||||
|
||||
|
Извини, нет времени смотреть на твой код, Я делал вот так. В принципе все просто, отредактируешь под себя и NULL проблем
Код:
with Chart1 do
begin
//если необходимо можешь задать min X , max Y, min Y , max Y
BottomAxis.Automatic:= False;
DBChart1.BottomAxis.Maximum := ...;
DBChart1.BottomAxis.Minimum := ...;
LeftAxis.Automatic := False;
LeftAxis.Maximum := ...;
LeftAxis.Minimum := ...;
//можешь проверить серию на повтор,например
if SeriesCount > 0 then
begin
for j:=0 to SeriesCount-1 do
begin
if (Series[j].Title = ...) then
exit;
end;
end;
UndoZoom;//востанавливаем исходный масштаб
Title.Text.Clear;
Title.Text.Add('....');//GRAPHIC
LeftAxis.AxisValuesFormat := '##.00';//
BottomAxis.Title.Caption := ...;//подписываем X
LeftAxis.Title.Caption := ...;//подписываем Y
Repaint;
end;
создаём серию
Series := TFastLineSeries.Create(Chart1); //тип FastLine
Series.ParentChart := Chart1; //назначение родительского графика
(Series as TFastLineSeries).LinePen.Width:=1;//толщина
Series.XValues.Order:= LoNone; //чтобы соединялись точки так как их вводят!!!
for j := 1 to StringGrid1.RowCount-1 do
begin
Series.AddXY(strtoint(StringGrid1.Cells[1,j]),strtoint (StringGrid1.Cells[0,j]), '',clRed);
end;
Series.Title := ... ; //
Series.Active := True;Если что то не получится, пиши |
|
#4
|
|||
|
|||
|
привет, слушай вставил этот код , при нажатии на кнопку ошибку выдает:
http://s003.radikal.ru/i204/1012/bf/a10e832d6404.jpg и с моим кодом тож самое писал! в чем дело? |
|
#5
|
|||
|
|||
|
дело в том что пустая строка пытается преобразоваться в целое число.
насколько понимаю ошибка возникает вот тут Цитата:
|
|
#6
|
||||
|
||||
|
StringGrid то заполнен?
|