Qual software e fluxo de trabalho é recomendado para publicação de dados e gráficos científicos?

40

Qual software fornece um bom fluxo de trabalho, desde a plotagem simples de alguns pontos de dados até a criação de gráficos no nível de publicação com estilos detalhados, composição matemática e "qualidade profissional"?

Isso está um pouco relacionado à questão de David ( Quais atributos tornam uma figura uma qualidade profissional? ), Mas o foco não está nos atributos, mas no software ou no fluxo geral de trabalho para chegar lá. Tenho experiência superficial com vários programas, Gnuplot, Origin, Matplotlib, TikZ / PGFplot, Qtiplot, mas fazer análise de dados e bons números ao mesmo tempo parece bastante difícil de fazer.

Existe algum software que permita isso ou devo apenas ir mais fundo em um dos pacotes?

Edit: Meu fluxo de trabalho atual é uma mistura de componentes diferentes, que mais ou menos funcionam juntos, mas no total não é realmente eficiente e acho que isso é típico para vários cientistas em um laboratório universitário. Normalmente, é uma cadeia que começa desde o experimento até a publicação como esta:

  1. Obtenha dados experimentais (geralmente no formato ASCII, mas com layout diferente, por exemplo, cabeçalhos, comentários, número de colunas)
  2. Gráfico rápido dos dados para verificar se nada deu errado no Origin, no Gnuplot ou no programa de plotagem arcana escrito há 20 anos.
  3. Análise mais detalhada dos dados: subtraindo contribuições em segundo plano, analisando dependências e correlações, ajustando-se a modelos teóricos. Muitos cientistas usam o Origin para esta tarefa, mas o uso de Matlab e Python / Scipy / Numpy está aumentando.
  4. Criando figuras profissionais, isso envolve o ajuste às diretrizes do diário, composição matemática e edição geral. No momento, eu uso o Origin para isso, mas ele tem várias desvantagens (tente obter uma largura de linha de exatamente 0,5pt, não é possível). Para combinar / polir figuras, eu uso principalmente o Adobe Illustrator, pois ele pode lidar com a importação / exportação de documentos PDF muito bem, mas eu preferiria não ter que passar por duas etapas para cada diagrama.

Adicionei um exemplo de como isso pode parecer no final (como isso foi criado principalmente pela alteração manual de qualquer coisa é doloroso e qualquer coisa que forneça uma interface, por exemplo, para definir a largura de linha para todos os elementos seria bom):insira a descrição da imagem aqui

Alexander
fonte
2
Talvez você deva esclarecer suas necessidades. Em sua forma atual, a questão está apenas atraindo uma grande lista de software. Ninguém está descrevendo detalhadamente quais são as vantagens e desvantagens dos sistemas. Olhando para ele, não me ajudaria a escolher um. É claro que todos os softwares de computação técnica, MATLAB, Mathematiac, Maple, todas as soluções baseadas em Python, R, etc. têm muitas ferramentas para criar gráficos. Depois, existem as ferramentas da GUI como Origin e xmgrace. Qual é a melhor escolha depende das suas necessidades.
Szabolcs
@Szabolcs: Concordo que minha pergunta é um pouco ampla. Meu fluxo de trabalho nem sempre é o mesmo, pois estou analisando dados de diferentes experimentos; portanto, tentei manter a pergunta um pouco mais geral.
Alexander

Respostas:

31

Se você tem alguma experiência com Python (ou não), eu recomendaria o uso do software científico Python disponível ( SciPy , Pandas ), ...) junto com o Matplotlib . Sendo um ambiente de programação, você tem controle total sobre seus fluxos de dados, manipulações e plotagem de dados. Você também pode usar os "aplicativos completos" Mayavi2 ou Veusz .

GertVdE
fonte
14
+1 para Matplotlib. Além dos pontos mencionados, a capacidade de usar o LaTeX nos campos de texto fornece a "composição matemática" solicitada.
Barron
alguma recomendação para o chaco do entusiasmo?
pcr
11
Chaso é super incrível para gráficos interativos. Um animal totalmente diferente IMHO.
27612 Marcel
2
E para obter uma prettificação instantânea do Matplotlib, verifique o mar .
Christian Clason
11
Ou prettyplotlib
GertVdE
15

Com base no que você está dizendo, uma linguagem de script de uso geral é provavelmente a melhor opção, desde que ela tenha algum tipo de recurso gráfico que você possa acessar (incorporado ou importado).

Nesse sentido, o MATLAB funcionará, embora você precise brincar com larguras de linhas, símbolos e eixos para obter gráficos com qualidade de apresentação. De acordo com seus critérios, eu diria que a grande fraqueza do MATLAB é a composição matemática detalhada; O MATLAB pode usar alguns rótulos TeX, mas existem alguns comandos do LaTeX que ele não pode manipular, então lembro de ter que voltar e recortar e colar alguns rótulos do LaTeX de um PDF no Adobe Illustrator.

O Python + NumPy funcionará para importações de dados, pois numpy.loadtxttorna a importação de dados de texto indolor. Nesse ponto, você pode escolher entre matplotlib e Gnuplot (que possui uma interface Python via Gnuplot.py ; nenhum desenvolvimento ativo na interface desde 2008, mas, novamente, o Gnuplot muda muito mais, mesmo que continue adicionando lançamentos? ) O wrapper PyAsy de MatthewEmmett também pode funcionar, dependendo do que você gostaria de fazer. O Matplotlib possui ótimas fontes matemáticas (como observado por Barron), e as manipulações de dados podem ser feitas usando NumPy, SciPy ou qualquer outro pacote Python que você queira lançar em seus dados.

O problema que tive com o gnuplot por si só é que ele foi realmente construído apenas para plotagem. Não estava aparente para mim como manipular dados dentro da linguagem de script gnuplot. Eu essencialmente fiz toda a minha manipulação de dados com antecedência antes de enviá-la para texto porque não conseguia descobrir como fazê-lo de outra forma. Você pode usar o gnuplot para avaliar fórmulas e fazer algumas manipulações, mas, para mim, o Python tem uma sintaxe muito mais natural e é de maior utilidade geral que o gnuplot. Não quero ter que aprender outro idioma apenas para fazer uma coisa, a menos que seja um idioma realmente natural e fácil de aprender. (Ou a menos que eu seja forçado a fazê-lo.)

O Tecplot 360 tem um tipo semelhante de problema. O Tecplot 360 produz gráficos incríveis, especialmente em 3D. Há coisas que você pode fazer com o Tecplot 360 usando uma GUI relativamente fácil de aprender que você provavelmente não faria em outro pacote de plotagem. A última vez que usei o Tecplot foi há 6 ou 7 anos; aparentemente, eles adicionaram muitas funcionalidades desde então. A manipulação de dados pode ser feita através da indexação, fatiamento ou estabelecimento de zonas. Quantidades derivadas podem ser calculadas usando equações. Você também pode realizar a transformação de Fourier de seus dados, executar interpolação (ou krigagem) e executar várias outras coisas. Não está claro como fazer a composição matemática. Eu acho que você pode cortar a saída HTML do Tecplot e adicionar MathJax ou MathML? As desvantagens, em minha opinião, em relação ao Tecplot são que ele não é gratuito (o que significa que, como ferramenta, talvez você não consiga levá-lo de um emprego para outro), a duvidosa composição matemática e a manipulação de dados complexos por script exige o aprendizado da linguagem macro do Tecplot. A principal vantagem é que sua capacidade de plotagem 3D ultrapassa o matplotlib e o MATLAB por um longo tempo. É possível agrupar dados em lote usando a linguagem de macro / script do Tecplot e chamar scripts externos do Python (com algumas funcionalidades limitadas). Além disso, semelhante ao MATLAB, há uma GUI na qual você pode recorrer se não quiser aprender a usar scripts do Tecplot. (A interface gráfica do Tecplot é muito mais completa que a do MATLAB.) A principal vantagem é que sua capacidade de plotagem 3D ultrapassa o matplotlib e o MATLAB por um longo tempo. É possível agrupar dados em lote usando a linguagem de macro / script do Tecplot e chamar scripts externos do Python (com algumas funcionalidades limitadas). Além disso, semelhante ao MATLAB, há uma GUI na qual você pode recorrer se não quiser aprender a usar scripts do Tecplot. (A interface gráfica do Tecplot é muito mais completa que a do MATLAB.) A principal vantagem é que sua capacidade de plotagem 3D ultrapassa o matplotlib e o MATLAB por um longo tempo. É possível agrupar dados em lote usando a linguagem de macro / script do Tecplot e chamar scripts externos do Python (com algumas funcionalidades limitadas). Além disso, semelhante ao MATLAB, há uma GUI na qual você pode recorrer se não quiser aprender a usar scripts do Tecplot. (A interface gráfica do Tecplot é muito mais completa que a do MATLAB.)

Ferramentas baseadas em LaTeX, como TikZ e PGFPlots, parecem não ter sido criadas para o seu caso de uso. O ponto fraco aqui é a manipulação de dados; TikZ e PGFPlots são ótimas ferramentas de LaTeX. Eu gostaria de saber como usá-los melhor. Como eles são LaTeX, acho que o fluxo de trabalho está cortando e colando os dados necessários no LaTeX e plotando-os. É possível executar programas dentro do LaTeX, mas não vejo como esse recurso necessariamente o ajudaria, já que, para uma apresentação ou documento, o caso de uso que você está descrevendo sugere que você provavelmente só manterá o produto final. Talvez você esteja bem com esse fluxo de trabalho; ambas as ferramentas têm a reputação de serem bem projetadas e produzir figuras de alta qualidade.

Por fim, o Adobe Illustrator é uma ótima ferramenta para retocar gráficos, como você disse; as deficiências também são, como você disse, falta de capacidade de script ou repetibilidade, mas nada supera um programa de edição de gráficos se você quiser fazer pequenos ajustes.

Geoff Oxberry
fonte
11
Eu só quero adicionar um pequeno comentário a esta ótima resposta. Não há necessidade de usar o produto Adobe. A ferramenta de código aberto inkscape também oferece ótimas ferramentas para retocar gráficos. Em combinação com o plugin LaTeX, ele pode fazer um bom trabalho.
amigos estão dizendo sobre azrael3000
10

Penso que esta é uma excelente pergunta, e que está na vanguarda da minha mente agora. Ao ler a maioria dos periódicos de matemática, o Matlab parece aceitável, mas simplesmente não mede o IMHO em alguns dos belos gráficos e diagramas que aparecem em periódicos como PNAS, Nature, PLoS ONE etc.

Depois de discutir exatamente essa questão em meu grupo de pesquisa há várias semanas, ainda não chegamos a uma conclusão real sobre qual o melhor pacote. Descobrimos que a maioria das comparações de softwares gráficos em documentação, blogs ou outras fontes da Web são amplamente inúteis para determinar qual pacote é melhor para um determinado objetivo.

Eu acho que o que realmente ajudaria o usuário médio que não é especialista em todos / muitos desses pacotes é ter um pequeno conjunto de exemplos muito bem definidos que poderiam ser usados ​​como uma espécie de "referência gráfica" (de maneira semelhante). como benchmarks de CFD ). Até onde eu sei, nada disso existe atualmente.

No mínimo, eu gostaria de ver:

  1. Um gráfico de linhas 2D razoavelmente simples com vários tipos de linhas e pontos, legenda, matemática em rótulos / títulos, etc.
  2. O mesmo vale para um gráfico de superfície 3D.
  3. Um enredo 3D mais sofisticado com isosuperfícies, planos de corte e talvez outros recursos sofisticados.
  4. Um diagrama 3D chique.

Os dados seriam fornecidos para o número 1-3, e uma foto ou diagrama "original" para o número 4. Para cada exemplo, o código (entrada) e as imagens (saída) seriam postadas. Isso permitiria ao leitor julgar mais facilmente qual pacote é adequado para eles, tanto em termos de qualidade de imagem quanto de complexidade do código.

Meu plano é fazer algo assim no meu grupo nos próximos meses para os números 1, 2, 4 e um pequeno número de pacotes, incluindo Matlab, pgf / TikZ, python / scipy. Se houver interesse, eu poderia postar isso publicamente.

Então, enquanto isso não é uma resposta à pergunta originalmente publicado ainda (e peço desculpas por isso) poderia ser uma resposta dentro de alguns meses.

John Stockie
fonte
Uma referência sugerida é uma boa ideia. Todas as maneiras sugeridas para alcançar o diagrama final são difíceis de comparar se você não iniciar a partir de um determinado conjunto de dados e requisitos. Além disso, ver o código em diferentes idiomas / pacotes permite comparar o que é mais adequado às suas próprias necessidades. Especialmente com o TikZ, tenho a impressão de que você pode reproduzir quase tudo, exceto que pode ser necessário um especialista de verdade.
Alexander
Eu acho que o benchmark é uma boa ideia; Eu sugeriria para seus gráficos 2D que você replique alguns dos gráficos na galeria Matplotlib . O código de amostra já é fornecido para cada exemplo. Para exemplos 3D, o Mayavi possui uma galeria semelhante em sua documentação e um bom exemplo de tutorial em 3D . Replicar alguns desses gráficos 3D em outros pacotes também pode ser útil.
precisa
O que você está usando agora, alguns meses depois? Algum comentário sobre a criação de plotagens por hackers (mexer com opções de plotagem em uma janela de texto, plotagem, loop ...) e / ou interativamente?
Denis13 /
8

Eu geralmente uso o gnuplot . Pode ser difícil de aprender, mas produz gráficos muito limpos. Também pode ser configurado para produzir plotagens no formato postscript encapsulado (.eps), o que facilita a incorporação em documentos escritos em .LATEX

Dan
fonte
+1 e para gráficos rápidos, tente o qtiplot, que é um bom clone de origem e também pode fazer o ajuste de curvas. também para layouts finalmente xfig é muito bom (mas difícil) e pode incorporar fórmulas de látex diretamente com um pouco de hacking para os detalhes ...
Karussell
8

Outro pacote de software a considerar é o Asymptote . A assíntota é na verdade uma linguagem de programação (com uma sintaxe semelhante ao C ++) que produz saída baseada em vetor. Um recurso interessante é que o texto é renderizado com LaTeX (incluindo equações matemáticas), para que o texto em suas figuras seja consistente com seu documento.

Eu escrevi um wrapper Python para o Asymptote chamado PyAsy para que eu pudesse passar matrizes NumPy para o mecanismo Asymptote e fazer algumas plotagens básicas. É bastante difícil e não está completo, mas pode ser útil.

De qualquer forma, a qualidade da saída do Asymptote é muito boa.

Editar: Além do exposto, achei o Fabric muito útil para iniciar trabalhos remotos, sincronizar diretórios e criar binários, buscar dados de execução e / ou iniciar scripts de análise remota. É uma biblioteca Python bastante leve que facilita a execução de comandos remotos (e com scripts).

Matthew Emmett
fonte
8

Deixe-me escrever uma breve revisão da funcionalidade gráfica do Mathematica, pois é com isso que estou familiarizado.

O que é que isso pode fazer?

Para ver um exemplo, consulte a galeria de códigos do Mathematica no site da Wolfram. Não é especificamente sobre visualização, mas quase todos os exemplos incluem algumas plotagens.

Você também pode navegar pelas tags de plotagem (básica) e gráfica (mais avançada) do Mathematica.SE

É possível criar sua imagem de exemplo de uma maneira totalmente automatizada (não é necessário pós-processamento manual).

Forças

  • Todos os gráficos são especificados de forma declarativa (como SVG - você não diz ao sistema para desenhar algo, apenas lista os objetos de gráficos vetoriais). Os gráficos são o mesmo tipo de expressões do Mathematica que qualquer outra coisa no sistema, eles são exibidos apenas de uma maneira especial. Isso significa que os gráficos podem ser facilmente transformados e processados ​​após serem criados - isso também se aplica aos gráficos criados pelas funções de plotagem.

  • A maneira rápida e simples de criar gráficos é usar funções de plotagem de alto nível e definir muitas opções para personalizar sua saída. Se não houver função para o gráfico preciso de que você precisa, você pode montar os gráficos a partir dos primitivos gráficos (o que também é bastante fácil ).

  • A funcionalidade de plotagem de funções matemáticas é excelente. até onde eu sei, é líder de classe. As amostras do Mathematica funcionam de forma adaptável (tanto em 2D quanto em 3D), para que um gráfico suave possa ser gerado de forma rápida e automática. Singularidades, descontinuidades etc. são detectadas simbolicamente através da plotagem de funções.

  • Você pode produzir figuras para um tamanho de impressão específico e verifique se elas se encaixam bem com o texto ao redor de uma publicação (por exemplo, tamanho da fonte e estilos). Em 2D, existem dois tipos de coordenadas: coordenadas de plotagem que correspondem aos seus dados e coordenadas absolutas especificadas nos pontos da impressora. O primeiro é dimensionado ao redimensionar o gráfico, o último não. O texto usa coordenadas absolutas por padrão, o que significa que o tipo de 8 pontos terá 8 pontos, independentemente de a mesma figura ser exportada no tamanho de 7 ou 14 cm. Isso torna possível ter tamanhos de fonte consistentes com o texto da publicação.

  • Tipografia incorporada para fórmulas matemáticas. O pacote de terceiros do MaTeX fornece integração com o LaTeX para uma composição de fórmula de excelente qualidade. (Divulgação: eu sou o autor.)

  • Você pode fazer todo o processamento de dados no mesmo sistema. Geralmente, com um pouco de trabalho, o processo completo de criação de figuras pode ser automatizado (até mesmo alguns aspectos avançados ), evitando a necessidade de pós-processamento manual em software como o Adobe Illustrator. Isso é importante quando, no último minuto, você descobre um pequeno problema e precisa gerar novamente a figura.

Fraquezas

  • Ter números com várias subparcelas e ter um alinhamento preciso entre os sistemas de coordenadas das subparcelas pode ser difícil.

    O pacote SciDraw (de terceiros) corrige isso e fornece controle detalhado sobre todos os aspectos da figura. A desvantagem deste pacote é que é preciso mais esforço para definir números.

  • Gráficos 3D não exportam bem para formatos vetoriais. A exportação de uma versão de bitmap é boa.

  • Se sua instituição ainda não possui uma licença, isso custa dinheiro.

Szabolcs
fonte
5

Aprofundar-se nos gráficos de PGF:

1) pode fazer diagramas em 3D: python-matplotlib não pode fazê-los, o gnuplot é feio em comparação

2) possui fontes consistentes em tamanho e família com o documento base)

3) pode ser modelado para esquemas de cores específicos

Não há mais nada parecido no mercado. :)

tmaric
fonte
11
O matplotlib possui um utilitário gráfico 3d. É um pouco fraco, mas certamente funciona bem para visualização rápida.
meawoppl
Definitivamente +1. Quando se trata de gráficos de qualidade de publicação, nada pode superá-lo. Plugue descarado: uma pergunta e minhas respostas em pgfplots no TeX.sx: tex.stackexchange.com/search?q=user:9043+[pgfplots] . Veja também texample.net/tikz/examples/pgfplots para um exemplo e o manual muito abrangente .
Qubyte 27/03/12
Com os gráficos PGF, tenho apenas o problema de que você não pode assumir que os editores o apóiam. O que você faria se o seu fluxo de trabalho dependesse disso? Uma vez, acabei digitando primeiro os números e depois incluindo a saída resultante no arquivo principal, que não dependia mais dos gráficos PGF, o que não era realmente conveniente. Existe uma maneira mais inteligente?
Christian Waluga
11
@ChristianWaluga: você pode usar a classe "autônoma" - isso permite criar imagens PDF / EPS usando a imagem PGF que você já preparou para o artigo. Em seguida, você pode inserir o PDF no texto do artigo original com os gráficos.
Tmaric
4

Eu acho que o Tecplot é bastante poderoso quando se trata de visualização e manipulação de dados.

hpc
fonte
4
E o Tecplot o torna muito poderoso? Quais recursos você considera particularmente úteis?
Paul
4

Tentarei dar uma visão da minha experiência limitada, que abrange apenas alguns tipos de gráficos: gráficos de dados 2D, gráficos de dispersão e diagramas baseados em gráficos (árvores e gráficos, fluxogramas); mas primeiro permita-me desviar um pouco da pergunta:

Primeiro, gostaria de dizer que a importância de produzir parcelas de alta qualidade é frequentemente negligenciada. Os gráficos não são apenas para exibição de dados, mas, se usados ​​com eficácia, podem comunicar idéias complexas que geralmente não podem ser expressas com clareza no texto. Parece-me que este não é o lugar apropriado para discutir o que constitui, os benefícios e as desvantagens de um bom enredo, mas, se estiver interessado, olhe aqui .

Em segundo lugar, me arrependi com mais frequência de usar um enredo meio cozido do que passar um tempo em um enredo de alta qualidade. O motivo é que uma plotagem incorreta pode mentir para você, por exemplo, se estiver usando uma plotagem incompleta para analisar rapidamente os dados que você pode não ter normalizado adequadamente ou usando plotagens não tão boas para fazer comparações visuais (o olho geralmente pode ser muito perdoador ou muito enganador). Por isso, eu sempre recomendo preparar gráficos como se fossem mostrados a uma pessoa que não está familiarizada com os resultados. Isso pode economizar seu tempo e melhorar seu trabalho. Além disso, você tem o benefício adicional de que o material de apresentação estará pronto para a próxima apresentação / seminário / artigo.

Agora, para responder à pergunta ,

Na minha experiência, é sempre melhor separar o processamento de dados da ferramenta de plotagem real e das ferramentas de manipulação de imagem. Para processamento de dados, uso python, pois é muito flexível e não encontrei um formato de arquivo que não possa ser facilmente manipulado através de python. Além disso, as bibliotecas numpy e scipy podem ser poderosas ferramentas de manipulação de dados numéricos.

No python, eu não vi uma ferramenta de plotagem que fornece controle sobre todos os detalhes de formatação. Descobri que são os detalhes que fazem uma grande diferença quando você tenta integrar imagens enquanto formata um papel em látex. Por exemplo, o controle do espaço em branco e as proporções de parcelas aproximadas podem ser uma dor de cabeça com o matplotlib (não é impossível, mas não vale o meu tempo); isso é muito importante se você tiver espaço limitado, como costuma ser o caso em periódicos e conferências. papéis.

Na minha experiência, descobri que o GNUPLOT é a melhor ferramenta para formatar e produzir plotagens 2D e plotagens de dispersão. Dá muito controle sobre todos os detalhes do seu enredo. E você pode produzir gráficos de alta qualidade (imagens vetoriais) em preto e branco ou em cores. O alto nível de controle torna o GNUPLOT um pouco mais difícil de aprender, e algumas vezes coisas simples podem dar um pouco de trabalho, mas se você começar com um exemplo, ele pode simplificar as coisas. Normalmente, olho para esses dois sites em busca de inspiração, veja o site não tão frequente ou as demos oficiais aqui .

Às vezes, os gráficos produzidos pelo GNUPLOT podem ser bastante grandes (no intervalo de MB) e o diário pode rejeitar os arquivos (isso aconteceu comigo com alguns gráficos de dispersão muito coloridos). Eu usei e recomendo o Imagemagick , uma ferramenta de linha de comando que permite converter, editar e compactar imagens (usei para gerar e editar jpegs de alta qualidade e reduzir significativamente o tamanho do arquivo). Tentei outras ferramentas que usavam a compactação automática de dados, isso se mostrou especialmente problemático devido ao delicado equilíbrio entre artefatos de imagem e compactação.

Também produzi uma boa parte de diagramas (geralmente para apresentações). Descobri que, se vou usar um diagrama uma única vez (não um artigo), o aplicativo Keynote (OSX) e salvar em pdf é bom o suficiente. No entanto, quando uma imagem é usada várias vezes, a qualidade da apresentação é mais importante e o TikZ é minha ferramenta preferida. Acho o TikZ um pouco difícil de usar, mas se você começar com um exemplo , é muito mais fácil.

Por fim, faço a maior parte do meu trabalho na linha de comando para integrar as diferentes ferramentas usadas com o bash ou python.

fcruz
fonte
3

Meu voto rápido é para QtiPlot.

Embora não seja perfeito, ele fornece a melhor combinação de facilidade da GUI, juntamente com scripts em python, então o que você realmente está fazendo é "Qtiplot / Python / (Illustrator ou Inkscape)". O Qtiplot é extensível, então você pode criar seus próprios scripts / macros que podem executar comandos python para abrir e processar dados e depois despejá-los em uma tabela. Você pode plotá-los manualmente ou automaticamente. Também é possível configurá-lo para funcionar com a tipografia do LaTeX com um tipógrafo disponível na Internet ou um tipógrafo local, para que você possa colocar fórmulas matemáticas nos títulos / eixos / marcações da plotagem.

Os gráficos podem ser exportados para qualquer formato desejado, mas o formato que funciona melhor é, sem dúvida, o SVG. Os arquivos SVG podem ser retocados no inkscape, se você quiser, que também possui habilidades de digitação do LaTeX.

Embora o MatPlotLib seja ótimo, sua maior desvantagem é ter que codificar manualmente absolutamente tudo (como qualquer solução de plotagem de script). O QtiPlot é ótimo porque você pode criar scripts / automatizar o processamento e a plotagem de dados com grande funcionalidade Python e passar um gráfico de corte aproximado para uma GUI que permitirá que você o ajuste manualmente e faça todos os tipos de corte / colagem / manipulação de GUI isso é muito mais rápido, caso a caso, para análise de dados. Você também pode definir dimensões precisamente com o script e também manipular as dimensões com a GUI, algo que não pode ser feito com o matplotlib.

Suponho que depende de como você se sente sobre as soluções de plotagem QtiPlot. Eu achei que era muito capaz, mas é tudo uma curva de aprendizado bastante acentuada.

Vince
fonte
3

Estou surpreso que ninguém tenha mencionado as excelentes ferramentas matlab2tikz e matplotlib2tikz de Nico Schlömer . Se você estiver usando o LaTeX para a preparação de documentos e o Matlab ou o Python para processamento de dados, poderá obter facilmente gráficos vetoriais de alta qualidade, que podem ser postados no conteúdo do seu coração:

  1. Prepare seus gráficos no Matlab ou Python, incluindo eixos, rótulos, legendas etc. Não se preocupe com a formatação TeX.
  2. Ligue para matlab2tikz('figure.tex')(ou matplotlib2tikz).
  3. Edite figure.texa gosto (substitua o texto do rótulo por matemática adequada, altere cores, largura da linha, posicionamento da legenda, estilo do eixo etc.), consulte o manual pgfplots (ou muitas perguntas sobre pgfplots na troca de pilhas TeX).
  4. Na sua figura, em vez de includegraphicscolocar \input{figure.tex}(e não se esqueça de incluir \usepackage{pgfplots}no preâmbulo).
  5. Para enviar, use a biblioteca de externalização (consulte o capítulo 7 do manual) para transformar sua figura em um pdf e simplesmente substituí-la \input{figure.tex}por \includegraphics{figure.pdf}.
Christian Clason
fonte
2

Se você não está procurando scripts, dê uma olhada no MagicPlot. Não é tão rico em recursos como o Origin (por exemplo, pode produzir apenas gráficos 2D), mas nunca tive problemas com a largura da linha e outras propriedades. Os gráficos são ótimos anti-alias, embora o redesenho seja rápido o suficiente. Além de montagem útil.

Alexander
fonte
0

O Tecplot 360 é bom para processar grandes dados e produzir plotagens com qualidade de publicação. Possui interfaces completas e de script poderosas para processar os dados. Parece-me que faz tudo o que você precisa para pós-processamento.

Um erro comum é recorrer ao Excel. Não. Ele não lembra o layout, o intervalo X, o mapa de cores. Não anima. Ele usa planilhas volumosas e feias para trabalhar com os dados.

Obviamente, você não encontrará uma ferramenta que faça pós-processamento e edição de texto, e escolher um editor de texto razoável para suas publicações é outra questão importante. Não use o MS Word, seu gerenciador de citações é feio. Eu uso o LyX ou qualquer outra ferramenta de látex disponível para o sistema operacional que estou usando.

Ah, e quando você precisar publicar PDF, inclua um link para o LaTeX, o Word ou qualquer outro formato com matemática legível. Em PDF, não é.


fonte