none
How to draw BELL (Normal Distribution Curve) with Mean and Standard Deviation Values

    Question

  • How to draw Normal Distribution Curve with available Mean and Standard Deviation Values. I have found a FOrmula in Wiki links to obtain the co ordinates based on Mean and Standard Deviation values.

    But i am facing a couple of issues.

    1)How to draw a curve instead of line segment as i am using a PolyLineSegment class.

    2)The boundary values  are going beyond the visual limit within the browser and hence i am unable to see that

    3) As i understand the left most top corner co ordinates start as a origin i would like to know how can i make the bottom left corner as origin.

     Thanks in advance.

    Tuesday, December 07, 2010 4:57 AM

Answers

  • 1) There is no way in GDI+ to draw a curve, we have Bezier-Curves but they are hard to specify, by points and angles that are not on the curve.

    You should stick to line segments, if you have enough of them, in extrem 1 per pixel, there is no difference to a curve.

    I always do my distribution curves with 100 segments, nobody complained yet.

    Little differences you will have in antialiasing issues, perhaps the "corners" look less smooth on line segments, but that's a minor problem.

    2) Well, Scale it. Normal distribution is from -infinity to +infinity anyway. So either you cut it, or you enable some kind of scrolling, to let the user scroll the "invsible" part into view.

    3) You can move the origin of the coordinate system, by using Transformations, Rotation and Scaling.

    http://msdn.microsoft.com/en-us/library/3zxbwxch.aspx

    But if you also want to change orientation, and the coordinate system growing to top, like axis orientation, your label Text and so on will be turned upside down also.

    If you want this only to stick to habits on paper, or to "simplify" your life, I'd rather recommend you stick to the existing orientation, that programmers use since ever; und get used to this.

    However, meanwhile .net 4 has nice Chart Controls

    http://msdn.microsoft.com/en-us/library/3zxbwxch.aspx

    you have much less work, if you use this high level implementation, instead of using GDI+ functions. There, you also have an simple option the "smooth" line segments (make them a curve)

    • Proposed as answer by Larcolais Gong Wednesday, December 08, 2010 5:22 AM
    • Marked as answer by Larcolais Gong Tuesday, December 14, 2010 9:33 AM
    Tuesday, December 07, 2010 10:05 AM

All replies

  • 1) There is no way in GDI+ to draw a curve, we have Bezier-Curves but they are hard to specify, by points and angles that are not on the curve.

    You should stick to line segments, if you have enough of them, in extrem 1 per pixel, there is no difference to a curve.

    I always do my distribution curves with 100 segments, nobody complained yet.

    Little differences you will have in antialiasing issues, perhaps the "corners" look less smooth on line segments, but that's a minor problem.

    2) Well, Scale it. Normal distribution is from -infinity to +infinity anyway. So either you cut it, or you enable some kind of scrolling, to let the user scroll the "invsible" part into view.

    3) You can move the origin of the coordinate system, by using Transformations, Rotation and Scaling.

    http://msdn.microsoft.com/en-us/library/3zxbwxch.aspx

    But if you also want to change orientation, and the coordinate system growing to top, like axis orientation, your label Text and so on will be turned upside down also.

    If you want this only to stick to habits on paper, or to "simplify" your life, I'd rather recommend you stick to the existing orientation, that programmers use since ever; und get used to this.

    However, meanwhile .net 4 has nice Chart Controls

    http://msdn.microsoft.com/en-us/library/3zxbwxch.aspx

    you have much less work, if you use this high level implementation, instead of using GDI+ functions. There, you also have an simple option the "smooth" line segments (make them a curve)

    • Proposed as answer by Larcolais Gong Wednesday, December 08, 2010 5:22 AM
    • Marked as answer by Larcolais Gong Tuesday, December 14, 2010 9:33 AM
    Tuesday, December 07, 2010 10:05 AM
  • Not to steal thread but I have a question on determining Bin Sizes.  What's best approach/method?
    Javaman
    Tuesday, December 07, 2010 10:47 AM