PDA

View Full Version : سوال: چگونگی تغییر رنگ بخشی از منحنی که خارج از محدوده است؟



elahe1393
سه شنبه 18 شهریور 1393, 10:21 صبح
سلام
در نمودار عنکبوتی نیاز دارم زوایایی که خارج از محدوده تعیین شده باشه منحنی به رنگ قرمز باشه یعنی وقتی زوایا و سرعت داره دریافت میشه و به سری اضافه میشه می خوام اگر زاویه خارج از بازه زاویه تنظیم شده باشه با رنگ قرمز رسم بشه و اگر داخل بازه است با همون مشکی چطور میتونم این کار رو انجام بدم؟

int point, speed;
foreach (pointSpeed recieveData in listRecievedData)
{if (Int32.Parse(recieveData.LeftPoint) < Int32.Parse(startPoint) || Int32.Parse(recieveData.LeftPoint) > Int32.Parse(endPoint))
{
Console.Beep();
point = int.Parse(recieveData.LeftPoint);
speed = recieveData.LeftSpeed;
chartLeft.Series[reapet].Points.AddXY(point, speed);
}else{
point = int.Parse(recieveData.LeftPoint);
speed = recieveData.LeftSpeed;
chartLeft.Series[reapet].Points.AddXY(point, speed);
}
}

کجا باید رنگشو تغییر بدم؟

elahe1393
سه شنبه 18 شهریور 1393, 11:27 صبح
اصلا میشه یه همچبن کاری کرد؟
من یه تغییری تو کد دادم ولی اشتباست چون کل سری رو تغییر رنگ میده من میخوام اون نقطه هایی که خارج از محدوده هست قرمز باشه اون نقطه هایی که در محدوده هست مشکی باشه تو یه سری
int point, speed;

foreach (pointSpeed recieveData in listRecievedData)
{if (Int32.Parse(recieveData.LeftPoint) < Int32.Parse(startPoint) || Int32.Parse(recieveData.LeftPoint) > Int32.Parse(endPoint))
{
Console.Beep();
point = int.Parse(recieveData.LeftPoint);
speed = recieveData.LeftSpeed;
chartLeft.Series[reapet].Color = Color.Red;

chartLeft.Series[reapet].Points.AddXY(point, speed);
}else{
point = int.Parse(recieveData.LeftPoint);
speed = recieveData.LeftSpeed;
chartLeft.Series[reapet].Color = Color.Black;

chartLeft.Series[reapet].Points.AddXY(point, speed);

}

}

elahe1393
سه شنبه 18 شهریور 1393, 11:38 صبح
فهمیدم باید چیکار کنم باید دو تا سری مجزا بسازم این نقاط رو بهش وصل کنم حالا برای اینکه تو کد یه سری بسازم مثلا series1 - series2 کدش چیه؟

elahe1393
چهارشنبه 26 شهریور 1393, 13:50 عصر
فعلا مشغول کدنویسی یه بخش دیگه ای از برنامه ام بودم حالا اومدم دوباره سراغ رسم نمودار هنوز تو این بخش مشکل دارم میشه یکی یه راهنمایی بکنه
یه بازه زاویه تنظیم کردم وقتی داده ها به برنامه ارسال میشه می خوام تو اون بازه زاویه سرعتهام رو نمودار رسم بشه جایی که زاویه خارج از بازه باشه میخوام منحنیم قرمز رسم بشه بعد از یه مدتی که گذشت می خوام ادامه داده های دریافتیم رو یه منحنی دیگه رسم بشه با همون شرایط قبلی فقط بین دو منحنی یه فاصله ای وجود داشته باشه تا از هم مجزا بشن تو رسم این نمودار به این شکل مشکل دارم برای تغییر رنگ بخشی از نمودار و اینکه بخوام داده هامو که تقریبا تو یه رنجی تغییر میکنن تو فواصل زمانی در سری های جدید با فاصله با سری قبلی رسم کنم راهکار چیه؟

elahe1393
چهارشنبه 26 شهریور 1393, 14:20 عصر
من یه همچین کدی رو برای یه بار تکرار و رسم یک منحنی نوشتم

int point, speed, countSeries, start;
string color;
List<pointSpeed> listRecievedData = new List<pointSpeed>();
Database db = new Database();
foreach (pointSpeed recieveDataPack in listRecievedData)
{
countSeries = chartLeft.Series.Count();
if (Int32.Parse(recieveDataPack.LeftPoint) < Int32.Parse(startPoint) || Int32.Parse(recieveDataPack.LeftPoint) > Int32.Parse(endPoint))
{
Console.Beep();
if (countSeries == 1)
{
point = int.Parse(recieveDataPack.LeftPoint);
speed = recieveDataPack.LeftSpeed;
Series pointsWithErrorleftRepeat = new Series();
pointsWithErrorleftRepeat.Color = Color.Red;
color = "Red";
pointsWithErrorleftRepeat.Points.AddXY(point, speed);
chartLeft.Series.Add(pointsWithErrorleftRepeat);
db.InsertSpeedData(reapetID, point, speed, color);
}
else
{
point = int.Parse(recieveDataPack.LeftPoint);
speed = recieveDataPack.LeftSpeed;
color = "Red";
chartLeft.Series[1].Points.AddXY(point, speed);
db.InsertSpeedData(reapetID, point, speed, color);
}
}
else
{
point = int.Parse(recieveDataPack.LeftPoint);
speed = recieveDataPack.LeftSpeed;
color = "Black";
chartLeft.Series[0].Points.AddXY(point, speed);
db.InsertSpeedData(reapetID, point, speed, color);
}
}
آیا درسته اگه اینو بخوام طوری تغییر بدم که تو تکرار بعدی روی همون نمودار سری بعدی داده ها رو رو منحنی جدیدی که با منحنی قبلی فاصله داره رسم کنم چه کنم؟ یکی منو راهنمایی کنه