Pergunta

O que é a melhor maneira de parcelas gráfico de dispersão em C ++?

Você escreve dados para um arquivo e usar outra ferramenta? Existe uma biblioteca como matplotlib em Python?

Foi útil?

Solução

Eu sempre escrever para fora de dados e, em seguida, usando gnuplot para criar meus gráficos. É de longe a melhor maneira que eu encontrei de produção de gráficos em uma variedade de formatos:. Eps, PNG, JPEG, xpm, you name it

gnuplot fará gráfico de dispersão muito facilmente. Desde que os valores x e y estão em 2 columnss separada por espaços, em seguida,

plot "data.txt" using 1:2 

Vamos dar-lhe um gráfico de dispersão rápida. Depois, você pode ajustá-lo eo que não usar outros comandos gnuplot.

Se você estiver envolvido em ciências, em seguida, gnuplot aprendizado será muito valioso para você. Ele chuta o crap fora de fazer parcelas excel com certeza e facilita a tarefa de fazer planos para incluir em documentos.

Outras dicas

Se você estiver procurando por uma biblioteca C ++ em vez de I ferramenta de plotagem independente como gnuplot, eu consideraria o seguinte:

DISLIN parece ser o mais interessante dos dois. Aqui está uma descrição extraído da Wikipedia:

DISLIN é de alto nível e fácil de usar conspirando biblioteca desenvolvido por Helmut Michels no Instituto Max Planck em Katlenburg-Lindau, na Alemanha. Helmut Michels atualmente trabalha como gerente de sistema matemático e Unix no centro de computador do instituto.

A biblioteca DISLIN contém rotinas e funções para exibir dados como curvas, gráficos de barras, gráficos de pizza, gráficos 3D em cores, superfícies, contornos e mapas. Vários formatos de saída são suportados, como X11, VGA, PostScript, PDF, CGM, HPGL, SVG, PNG, BMP, PPM, GIF e TIFF.

DISLIN está disponível para as linguagens de programação em Fortran 77, Fortran 90/95 e C. Plotting extensões para as linguagens Perl, Python e Java também são suportados para a maioria dos sistemas operacionais. A versão atual do DISLIN é de 9,4, lançado em outubro de 2008. A primeira versão 1.0 foi lançado em dezembro de 1986.

O software DISLIN é gratuito para uso não-comercial.

Solução muito pesada: você pode ligar contra ROOT , que vai fazer praticamente qualquer coisa que você quer:

  • roda em Mac, Windows e Linux
  • runs compilado ou usando o cint interperter
  • saída para um arquivo em PostScript encapsulado, PDF, gif, png ...
  • exibição para a tela usando várias tecnologias diferentes
  • serializar os dados em um formato interno que podem ser manipulados depois

Claro, é um pouco demais para a maioria das pessoas, mas ele faz exatamente o que você pediu. Eu usá-lo porque eu sei que e já está em minhas máquinas becase eu sou esse tipo de físico.

Boa GNU idade, eles têm tudo ...

http://directory.fsf.org/project/plotutils/

Esta não é certamente a melhor maneira, mas eu costumo escrever arquivos de saída que podem ser lidos por R e usar este, juntamente com um script apropriado, para traçar os gráficos.

O problema aqui é que C ++, ao contrário de Java, por exemplo, não têm built-in GUI ou gráficos. Se você deseja gerar gráficos com C ++ você precisa usar uma biblioteca GUI disponíveis para o seu sistema operacional. Há bibliotecas GUI gratuitos, muitos cross-plaform tais como Qt ou GTK.

No entanto, como outras pessoas têm apontado, a coisa mais fácil para você fazer seria para salvar os dados em um arquivo de texto e usar outro programa para gerar o gráfico. gnuplot é definitivamente uma boa escolha. Ele vem com a maioria das distribuições Linux, e você começa para Windows sob cygwin.

Saudações plotagem em C ++ para quem não fez isso ainda. Eu vou dizer o que eu fiz para traçar gráficos em C ++

  1. Faça o download do arquivo zipado "gp443win32.zip" de http://sourceforge.jp/projects/sfnet_gnuplot/downloads/gnuplot/4.4.3/gp443win32.zip/

  2. Extraí-lo em "C: \ Gnuplot" então eu li "C: \ Gnuplot \ gnuplot \ README.Windows" e eu tenho essas informações:

  3. Eu usei o Windows 7 ==> então você precisa baixar "winhlp32.exe" ... basta procurar por ele "winhlp32.exe Windows 7" em um motor de busca e ir até o primeiro link.

  4. Anexar ao "Caminho" Ambiente variável o caminho para a pasta binária que é "C: \ Gnuplot \ gnuplot \ binário"

  5. desligamento então eu meu computador e abri-lo novamente. Depois que eu descobri que não sentir a mudança nas variáveis ??de ambiente: D

  6. Você precisa agora de escrever um código de exemplo para testar a sua capacidade plotagem :) assim você pode visitar este link http://code.google.com/p/gnuplot -cpp / fonte / browse / # svn% 2Ftrunk para ver o arquivo de cabeçalho "gnuplot_i.hpp" e fonte de arquivo "example.cc".

Você vai ter muitos e muitos gráficos, escolha o gráfico apropriado, personalizar o seu núcleo, e desfrutar:)

Se você estiver familiarizado com matplotlib, você pode incorporar python em aplicações C / C ++. Dependendo do que você quer para ele, isso pode ser uma solução rápida.

Gráfico Diretor tem ligações para C ++. Eu usei suas bibliotecas .Net, e eu tenho sido muito feliz com eles. É uma biblioteca muito barato, e dá-lhe o poder de fazer todos os tipos de gráficos diferentes.

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