Pergunta

Na minha WinForms aplicativo eu tenho um pequeno gráfico. Nada extravagante apenas um monte de x / y pontos conecto com linhas.

Seria bom para desenhar uma curva em vez de uma linhas para conectar esses pontos. Mas desde que a matemática nunca foi o meu lado forte Eu não tenho nenhuma idéia de como fazer isso.

Qualquer tipo de amostra ou conselho seria útil.

Foi útil?

Solução

Isto é muito simples - sem necessidade de qualquer matemática -. Usar apenas Graphics.DrawCurve vez de drawPolygon / DrawLine (ver a ajuda muito boa sobre esta função)

Outras dicas

Desculpas para a ressurreição da linha, mas eu tive que responder a esta:

Seja claro em sua mente o que você deseja alcançar. Eu não sei os detalhes do seu projeto, mas os métodos que estão sendo sugeridas não são apropriados para muitas aplicações. A solução correta depende se você pretende as curvas que você está desenhando para simplesmente olhar agradável, ou para representar dados significativos. Para o primeiro, desenhando uma curva de bezier é bom, mas eles são não matematicamente significativa e se você está tentando desenhar um gráfico a ser interpretado com rigor científico, eles vão enganar o usuário. Para muitas aplicações o que você quer é uma linha de melhor ajustamento. Estes têm forma funcional clara, por exemplo, um polinómio de grau-2 (também conhecida como uma parábola), uma curva logarítmica, ou um movimento da média. Todos estes estão presentes em Excel e todos têm aplicações específicas e são enfaticamente a escolha errada para qualquer coisa fora da sua competência específica. O tema da análise estatística dos dados é provavelmente além do escopo de um posto StackOverflow - mas, para começar, olhar para cima 'regressão linear', o que você está descrevendo é amplamente tratado por esta área da matemática

.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top