bom (gratuito) software para produzir imagens publicáveis?

11

Atualmente, estou produzindo imagens 1d e 2d usando o Matlab para comparação de precisão em relação a um determinado modelo. Preciso comparar meus métodos com o modelo gaussiano .wfn padrão e farei isso analisando a densidade de uma molécula e também o laplaciano.

Estou interessado em produzir imagens bidimensionais de diferenças na minha aproximação à aproximação .wfn (possivelmente via mapa de contorno?) E também estou interessado em propriedades (densidade, laplaciana, etc.) ao longo do caminho da ligação e linha direta entre dois átomos.

Como afirmei anteriormente, atualmente estou usando o Matlab para produzir minhas imagens, embora essas imagens sejam principalmente para mim e meus associados. Eles não parecem ser os tipos de imagens que vejo frequentemente em artigos e outras publicações.

Que tipo de software devo usar (ou que outras pessoas usam) para produzir gráficos e imagens com qualidade de publicação?

drjrm3
fonte
TEXLATEX

Respostas:

14

Pessoalmente, vim do Gnuplot para o Matplotlib com o PGFPlots como um passo intermediário.

Vou tentar nomear todos os aspectos do Matplotlib que eu gosto.

  • É muito versátil. Você não está limitado a gráficos de linhas ou de dispersão, pode facilmente fazer gráficos de barras, imagens (visualização de matriz!), Plotagem 3D básica e até alguma animação.

  • Você pode usar o Matplotlib como uma GUI para seus aplicativos Python.

  • LaTeX é suportado.
  • Ele suporta muitos formatos de saída (tente obter PDF sem dor com o Gnuplot).
  • A base de usuários do Matplotlib é ampla. Você recebe bastante ajuda na internet.
  • É razoavelmente fácil de aprender.
  • Sendo uma biblioteca Python, você tem o poder do Python em mãos (o que significa, por exemplo, que você pode facilmente carregar dados de texto ou HDF5 ou, usando wrappers como Cython / f2py, carregar dados binários escritos por programas compilados escritos em C / Fortan) .

No entanto, eu sempre amei figuras que se integram perfeitamente aos documentos do LaTeX. Aqui, em princípio, o PGFPlots é excelente. No entanto, é lento e (comparado ao Matplotlib) limitado.

É por isso que prefiro uma nova solução: o back - end PGF (experimental) do Matplotlib. Usando isso, os gráficos são criados pelo Matplotlib, enquanto o eixo e os rótulos são configurados pelo PGFPlots e, finalmente, desenhados pelo LaTeX. Você pode usar isso para saída em PDF sem um documento LaTeX incorporado ou para saída PGF que pode ser incluída no documento LaTeX.

Sinto que a solução que descrevi acima é a solução para meus casos de uso (por enquanto).

AlexE
fonte
O matplotlib pode ser feito para criar algumas belas parcelas. Veja matplotlib.org/gallery.html
meawoppl
7

Normalmente, uso o Matlab e salve o resultado como um epsarquivo via print -depsc2 -f1 fig. Isso salva a figura 1 como um epsarquivo chamado fig.eps. Há também o Plot2Svg da troca de arquivos matlab que pode salvar como svg. Isso é muito bom, pois você pode abrir os arquivos Inkscapeou outro software de gráficos vetoriais e editá-los.

Se você estiver disposto a aprender novas ferramentas, também há o matplotlib, que é basicamente um pacote python. Eu não o usei pessoalmente, mas muitos amigos o usam e tendem a produzir gráficos muito bons. Você pode conferir a galeria deles.

Finalmente, se você estiver disposto a pagar pelo software, poderá usar o TecPlot, mas isso custará um braço e uma perna!

GradGuy
fonte
1
Antes de usar o TecPlot, use o Visit ou ParaView. Eles são igualmente poderosos e são gratuitos. Eles também podem produzir visualizações de qualidade muito alta.
Wolfgang Bangerth
@ Wolfgang - Na minha experiência, o TecPlot é melhor. Ele permite que você salve o formato vetorial (o Paraview não) e produz gráficos vetoriais muito melhores.
Akid
@akid: Devo admitir que não conheço o ParaView muito bem. Eu uso o Visit, que produz gráficos vetoriais muito bons. Eu não sei sobre formatos vetoriais, no entanto. No entanto, ele pode salvar gráficos em alta resolução.
Wolfgang Bangerth
7

Se você estiver disposto a superar a curva de aprendizado do Gnuplot , poderá gerar números de alta qualidade (como exemplificado em http://www.gnuplotting.org/ ). Em particular, eu recomendaria o uso do terminal epslatex, pois ele permite que você use o LaTeX para renderizar todo o texto da figura (incluindo qualquer notação matemática que você queira inserir).

Se você deseja manter o MATLAB, tente matlab2tikz . Este é um script que converte figuras do MATLAB em ilustrações de Tikz .

Juan M. Bello-Rivas
fonte