pgfplots против визуализации данных – обзор 2019 года

pgfplots против визуализации данных – обзор 2019 года

ТикБиблиотека Z' datavisualizationи пакет pgfplots(на основе TiкZ) оба создают довольно неплохие графики в LaTeX. Для того, кто начинает этим заниматься, в чем разница между ними и что может сделать один из них предпочтительнее другого?


Естьэтот вопросс 2012 года иВот этотот 2014 года, по сути, задавал тот же вопрос.

  • В версии 2012 года ответ таков: он datavisualizationвсе еще является экспериментальным и поэтому рекомендует использовать pgfplots.
  • В ответе 2014 года говорится, что оба варианта являются разумными. Различия, указанные здесь, следующие:
    • pgfplotsболее зрелый
    • datavisualizationнемного более многословен

Итак, каково текущее положение дел? Для начала, вот мои мысли после беглого просмотра обеих документов. Пожалуйста, расширьте их и поправьте меня, где у меня сложилось неправильное впечатление.

  • pgfplotsпохоже, по умолчанию поддерживает больше типов графиков.
  • В datavisualizationкажется, очень легко добавлять новые типы сюжетов. То же самое относится и к pgfplots?
  • datavisualizationвстроенное решение. Это гарантирует очень высокую степень взаимодействия и согласованности синтаксиса с остальной частью TiкЗ.
  • Оба, похоже, имеют очень хорошие настройки по умолчанию.
  • Я предполагаю, что оба варианта позволяют изменять все аспекты визуализации каждого элемента сюжета.
  • pgfplotsимеет гораздо большую базу пользователей, а значит, здесь больше помощи.
  • Есть ли различия в способности обрабатывать большие объемы входных данных?
  • Так как datavisualizationбыл добавлен в TiкЗпосле pgfplotsуже существовали, я предполагаю, что автор посчитал некоторые из вариантов дизайна pgfplotsнеоптимальными.

решение1

Я не могу полностью ответить на этот вопрос, но я бы сказал, что есть два варианта.

  1. Нельзя исключать, что в определенный момент вам понадобится создать трехмерные графики, например, графики поверхности, с помощью любого из этих пакетов.
  2. Вам необходимо создавать только двухмерные графики.

В первом случае вам неизбежно придется полагаться на pgfplots. Это связано с тем, что pgfplotsподдерживает 3D-упорядочение (все ключи типа z buffer=sortи друзья вступают в игру здесь), чего datavisalizationв настоящее время не происходит. Большинству пользователей нравятся универсальные стили. Например, вы можете захотеть, чтобы наконечники стрелок выглядели одинаково для всех графиков и т. д. Это, возможно, проще всего, если вы делаете все с одним и тем же пакетом, которым в данном случае является pgfplots.

Во втором случае ситуация менее ясна. pgfplotsчрезвычайно мощный, но и несколько сложный. Например, \foreachциклы требуют особого внимания. Этому нет ничего, чему нельзя научиться, но если у вас очень ясная область действия, вам в конечном итоге может быть лучше с datavisualization. (Я лично рекомендовал бы научиться справляться с этими подводными камнями, насколько мне известно, все они задокументированы в руководстве.)

В целом я считаю, что новым пользователям в большинстве случаев будет лучше с pgfplots, также потому, что там гораздо больше доступных примеров. Например, pgfplotsна этом сайте примерно в 100 раз больше постов с тегами, чем datavisualization. Правда, некоторые из них дублируют друг друга, но тем не менее примеров гораздо больше.

Излишне говорить, что существуют альтернативы, такие как tikz-3dplot, pstricksи asymptote. tikz-3dplotЭто очень мощный инструмент для рисования эскизов, asymptoteимеющий настоящий 3D-движок и множество функций, которые порой не получают должного признания.

Связанный контент