PDA

View Full Version : در نمودار برای مقادیر null خطی رسم نشود



S_VB.max
سه شنبه 03 مرداد 1391, 09:30 صبح
سلام

در رسم نمودار خطی می خوام برای مقادیری که null هستن خطی رسم نشود چگونه می تونم این کار را بکنم؟
به تصویر زیر نگاه کنید من می خوام نموداری مثل این رسم کنم90159

hakim22
سه شنبه 03 مرداد 1391, 09:40 صبح
شما با یک حلقه در میان آرایه ی مقادیر جستجو می کنید و آنهایی که Null نیستند رو به یک آرایه ی جدید منتقل می کنید و بعد آرایه ی جدید رو رسم می کنید.

S_VB.max
سه شنبه 03 مرداد 1391, 09:55 صبح
سلام
راه حلی که شما پیشنهاد دادید باعث میشه مقادیری که null هستند را اصلا در محور X ها نمایش ندهد در صورتی که من نیاز دارم مقادیری که null هستند را نمایش دهم یعنی مختصات من X دارد ولی مقدار Y آن null است

S_VB.max
سه شنبه 03 مرداد 1391, 17:48 عصر
لطفا كمك كنيد من بايد چكار كنم؟

the king
سه شنبه 03 مرداد 1391, 22:39 عصر
خط وقتی رسم میشه که یک نقطه مبدا و یک نقطه مقصد داشته باشه بدون null چه در x و چه در y
اگر هم بجای خط نقطه رسم می کنید باز هم نباید null باشه، چه x و چه y
شما نوع آرایه یا لیستی که داده ورودی داخلش هست رو مشخص کنید بهتر میشه نتیجه گرفت، فرضا این همون ورودی است که تصویر
نمونه ای که شما نشون دادید لازم داره :

private struct PointData
{
public object X, Y;

public PointData(object x, object y)
{
X = x;
Y = y;
}

public static implicit operator Point(PointData p)
{
if (p.IsNull)
{
return Point.Empty;
}
return new Point(100 - Convert.ToInt32(p.X) * 10, 100 - Convert.ToInt32(p.Y) * 10);
}

public bool IsNull
{
get
{
return ((X == null) || (Y == null));
}
}
}

List<PointData> points = new List<PointData>();

private void Form1_Load(object sender, EventArgs e)
{
points.Add(new PointData(7, 1));
points.Add(new PointData(5.8, 2));
points.Add(new PointData(5, 4));
points.Add(new PointData(null, null));
points.Add(new PointData(3, 3));
points.Add(new PointData(1, 1));
}

protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
for (int i = 1; i < points.Count; i++)
{
if ((points[i - 1].IsNull == false) && (points[i].IsNull == false))
{
e.Graphics.DrawLine(Pens.Blue, points[i - 1], points[i]);
}
}
}

S_VB.max
چهارشنبه 04 مرداد 1391, 09:29 صبح
سلام
ممنون از راهنمائیتون
ولی من نیاز دارم که این نمودار را باMS CHART رسم کنم.
اگه بتونید تو این زمینه کمکم کنید ممنون میشم.

ali_habibi1384
چهارشنبه 04 مرداد 1391, 09:38 صبح
در رسم نمودار خطی می خوام برای مقادیری که null هستن خطی رسم نشود

من نیاز دارم مقادیری که null هستند را نمایش دهم یعنی مختصات من X دارد ولی مقدار Y آن null است
آخر تصميمت رو بگير ميخواي رسم بشه يا نه؟ دوستمون كه جوابت رو داد.شايد منظورتو نميتوني واضح برسوني

S_VB.max
چهارشنبه 04 مرداد 1391, 09:56 صبح
ممنون از توجه دوست عزیز

فکر می کردم منظورمو با گذاشتن اون عکس کامل رسوندم
من می خوام برای مقادیر null با اینکه محور X آنها نمایش داده می شود خطی برای آنها رسم نشود
اگر اون عکس را نگاه کنید متوجه می شوید منظور من چیه
در ضمن همینطور که قبلا گفتم می خوام این کار به کمک کامپوننت MS Chart انجام بشه نه اینکه با دستور DrawLine روی فرم تنها خط رسم بشه

zare69
پنج شنبه 05 مرداد 1391, 09:26 صبح
سلام دوستان
منم همین مشکلو دارم می خوام مقدار Null رو نمودار نشون بدم(یعنی اون قسمتی که مقدار NULL داره را خالی بذاره و خطی رسم نکنه) دقیقا مثل عکسی که دوستمونS_VB.max قرار داده.
آیا میشه اینکار رو کرد؟البته با استفاده از کامپوننتMS Chart
:متفکر:

S_VB.max
شنبه 07 مرداد 1391, 09:51 صبح
کسی نیست به من بگه چکار باید بکنم