Winforms / GDI + Draw кривой для графика - PullRequest
5 голосов
/ 29 апреля 2009

В моем приложении Winforms у меня есть небольшой график. Ничего особенного, только куча точек х / у, которые я соединяю линиями.

Было бы неплохо нарисовать кривую вместо линий, чтобы соединить эти точки. Но поскольку математика никогда не была моей сильной стороной, я понятия не имею, как это сделать.

Любой образец или совет будет полезен.

Ответы [ 2 ]

3 голосов
/ 29 апреля 2009

Это очень просто - не нужно никакой математики - просто используйте Graphics.DrawCurve вместо DrawPolygon / DrawLine (см. Очень хорошую справку по этой функции).

0 голосов
/ 19 сентября 2010

Извинения за воскресение потока, но я должен был ответить на это:

Подумайте, чего вы хотите достичь. Я не знаю деталей вашего проекта, но предлагаемые методы не подходят для многих приложений. Правильное решение зависит от того, хотите ли вы нарисовать кривые, чтобы они просто выглядели красиво или представляли значимые данные. В первом случае хорошо рисовать кривую Безье, но они математически значимы , а не , и если вы пытаетесь нарисовать график, который будет интерпретироваться с научной строгостью, они введут пользователя в заблуждение. Для многих приложений лучше всего подойдет линия. Они имеют четкую функциональную форму, например, полином степени 2 (иначе называемый параболой), логарифмическая кривая или скользящее среднее. Все они присутствуют в Excel, и все они имеют конкретные приложения и являются абсолютно неправильным выбором для чего-либо, выходящего за рамки их компетенции. Тема статистического анализа данных, вероятно, выходит за рамки поста StackOverflow, но для начала посмотрите на «линейную регрессию», то, что вы описываете, всесторонне рассматривается в этой области математики.

...