Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Одинаковые точки в Chart

2.7K
16 декабря 2004 года
sys33
55 / / 16.12.2004
дело в том, когда в компоненте chart строятся графики по точкам, может получится так, что у двух введенных точках окажутся одинаковые координаты ( или абсциссы, или ординаты, или обе сразу), на обычном графике такие точки располагались бы одна над другой или одна правее другой, но в chart вместо этого на оси появляется еще одно точно такое же значение координаты, то есть к примеру на оси икс может быть две пометки с координатой три... Как этого избежать и заставить график строиться как мы к этому привыкли... и можно ли как нибудь сгладить, полученный график, а то уж очень острые углы получаются?
310
16 декабря 2004 года
fellow
853 / / 17.03.2003
У себя, вроде бы, не замечал такого "двоения". Приведи код, который добавляет точки в серию.
А насчёт сглаживания... В "про" версии, кажется, есть подходящие функции. Но лучше сглаживать самому, я полагаю. И вообще, какой сигнал - такой и график :)
2.7K
16 декабря 2004 года
sys33
55 / / 16.12.2004
Цитата:
Originally posted by fellow
У себя, вроде бы, не замечал такого "двоения". Приведи код, который добавляет точки в серию.
А насчёт сглаживания... В "про" версии, кажется, есть подходящие функции. Но лучше сглаживать самому, я полагаю. И вообще, какой сигнал - такой и график :)


Есть текстовый файл в котором числа записаны по столбцам, всего 5 столбцов,я считываю числа из 3его и четвертого столбцов и потом заношу точки с соответсвующими координатами на график, так вот если будут одинаковые координаты у точек на графике появится еще одна точка а на соответсвующим осях будет 2 одинаковых значения.
код вот, при щелчке на кнопке:
FILE *in=fopen("i://chisla.txt","rb");
int st1=3,st2=2,i=0,j=0,pos=0,num1,num2;
int a[3];
int b[3];
while(!feof(in))
{
fscanf(in,"%d",&num1);
if(pos==st1)
{
i++;
a= num1;
//((TLabel*)Form1->FindComponent("Label"+IntToStr(i))) -> Caption = a;
}
if(pos==st2)
{
j++;
b[j]=num1;
((TLabel*)Form1->FindComponent("Label"+IntToStr(j))) -> Caption = b[j];
}
pos=++pos%MAX;
}
fclose(in);
for(i=1;i<4;i++)
Series1->Add(a,b,clBlue);
}

368
16 декабря 2004 года
rostyslav
629 / / 13.07.2004
В C индексация массивов начинается с 0.

int a[3], значит есть элементы a[0], a[1], a[2];

Когда пишешь в a[3], то неисключено, что на самом деле меньяешь значение b[0].
310
16 декабря 2004 года
fellow
853 / / 17.03.2003
Цитата:
Originally posted by sys33
for(i=1;i<4;i++)
Series1->Add(a,b,clBlue);
}


Я предпочитаю пользоваться AddXY, никакого двоения не наблюдаю.

2.7K
16 декабря 2004 года
sys33
55 / / 16.12.2004
Цитата:
Originally posted by fellow

Я предпочитаю пользоваться AddXY, никакого двоения не наблюдаю.


А приведи плиз как записывается AddXY в программе? просто в хелпе не нашел... сенкс

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог