хорошее (бесплатное) программное обеспечение для производства публикуемых изображений?

11

Я делаю 1d и 2d изображения с использованием Matlab прямо сейчас для сравнения точности с данной моделью. Мне нужно сравнить мои методы со стандартной гауссовой моделью .wfn, и я собираюсь сделать это путем анализа плотности молекулы, а также лапласиана.

Я заинтересован в создании двумерных изображений различий в моем приближении к приближению .wfn (возможно, через контурную карту?), А также меня интересуют свойства (плотность, лапласиан и т. Д.) Вдоль пути связи и прямой линии между двумя атомами.

Как я уже говорил, в настоящее время я использую Matlab для создания своих изображений, хотя эти изображения в основном для меня и моих сотрудников. Они не являются типами изображений, которые я часто вижу в газетах и ​​других публикациях.

Какое программное обеспечение я должен использовать (или использовать другие) для создания графиков и изображений качества публикации?

drjrm3
источник
TЕИксLATЕИкс

Ответы:

14

Я лично прошел путь от Gnuplot до Matplotlib с PGFPlots в качестве промежуточного этапа.

Я постараюсь назвать все аспекты Matplotlib, которые мне нравятся.

  • Это очень универсально. Вы не ограничены линейными или точечными графиками, вы можете легко создавать гистограммы, изображения (матричная визуализация!), Базовые трехмерные изображения и даже некоторую анимацию.

  • Вы можете использовать Matplotlib в качестве графического интерфейса для ваших приложений Python.

  • LaTeX поддерживается.
  • Он поддерживает множество форматов вывода (попробуйте получить безболезненный PDF с Gnuplot).
  • База пользователей Matplotlib очень широка. Вы получаете достаточно много помощи в Интернете.
  • Это довольно легко учиться.
  • Будучи библиотекой Python, вы обладаете мощью Python (например, это означает, что вы можете легко загружать текстовые или HDF5-данные или, используя обертки, такие как Cython / f2py, загружать двоичные данные, написанные скомпилированными программами, написанными на C / Fortan) ,

Однако мне всегда нравились цифры, которые легко интегрируются в документы LaTeX. Здесь в принципе PGFPlots превосходит. Тем не менее, это медленно и (по сравнению с Matplotlib) ограничено.

Вот почему я предпочел новое решение: (экспериментальный) бэкэнд PGF для Matplotlib. Используя это, сами графики создаются Matplotlib, тогда как оси и метки устанавливаются PGFPlots и, наконец, рисуются LaTeX. Вы можете использовать это либо для вывода PDF без встраивания документа LaTeX, либо для вывода PGF, который можно включить в документ LaTeX.

У меня есть ощущение , что решение , которое я описал выше является решением для моих случаев использования (в настоящее время).

AlexE
источник
Matplotlib можно сделать, чтобы сделать несколько красивых сюжетов. См. Matplotlib.org/gallery.html
meawoppl
7

Я часто использую Matlab, а затем сохраняю результат в виде epsфайла через print -depsc2 -f1 fig. Это сохраняет рисунок 1 как epsфайл с именем fig.eps. Существует также Plot2Svg из обмена файлами Matlab, который можно сохранить как svg. Это действительно хорошо, так как вы можете открывать файлы Inkscapeили другое программное обеспечение для векторной графики и редактировать их.

Если вы готовы изучать новые инструменты, существует также пакет matplotlib, который в основном представляет собой пакет Python. Я не использовал это лично, но многие мои друзья используют его и имеют тенденцию создавать действительно хорошие графики. Вы можете проверить их галерею.

Наконец, если вы готовы платить за программное обеспечение, вы можете использовать TecPlot, но это будет стоить вам руки и ноги!

GradGuy
источник
1
Перед использованием TecPlot используйте Visit или ParaView. Они такие же мощные и бесплатные. Они также могут создавать очень качественные визуализации.
Вольфганг Бангерт
@Wolfgang - По моему опыту, TecPlot лучше. Это позволяет вам сохранять векторный формат (Paraview не делает), и это дает намного более хорошие векторные графики.
AKID
@akid: Должен признать, что я не очень хорошо знаю ParaView. Я использую Визит, который производит очень хорошие векторные графики. Я не знаю о векторных форматах, хотя. Тем не менее, он может сохранять графики в высоком разрешении.
Вольфганг Бангерт
7

Если вы хотите преодолеть кривую обучения в Gnuplot , вы можете с ее помощью генерировать высококачественные данные (как показано на http://www.gnuplotting.org/ ). В частности, я бы рекомендовал использовать терминал epslatex, поскольку он позволяет вам использовать LaTeX для рендеринга всего текста на рисунке (включая любые математические обозначения, которые вы, возможно, захотите ввести).

Если вы хотите придерживаться MATLAB, вы можете попробовать matlab2tikz . Это скрипт, который преобразует цифры MATLAB в иллюстрации Tikz .

Хуан М. Белло-Ривас
источник