
ТикБиблиотека 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
Я не могу полностью ответить на этот вопрос, но я бы сказал, что есть два варианта.
- Нельзя исключать, что в определенный момент вам понадобится создать трехмерные графики, например, графики поверхности, с помощью любого из этих пакетов.
- Вам необходимо создавать только двухмерные графики.
В первом случае вам неизбежно придется полагаться на pgfplots
. Это связано с тем, что pgfplots
поддерживает 3D-упорядочение (все ключи типа z buffer=sort
и друзья вступают в игру здесь), чего datavisalization
в настоящее время не происходит. Большинству пользователей нравятся универсальные стили. Например, вы можете захотеть, чтобы наконечники стрелок выглядели одинаково для всех графиков и т. д. Это, возможно, проще всего, если вы делаете все с одним и тем же пакетом, которым в данном случае является pgfplots.
Во втором случае ситуация менее ясна. pgfplots
чрезвычайно мощный, но и несколько сложный. Например, \foreach
циклы требуют особого внимания. Этому нет ничего, чему нельзя научиться, но если у вас очень ясная область действия, вам в конечном итоге может быть лучше с datavisualization
. (Я лично рекомендовал бы научиться справляться с этими подводными камнями, насколько мне известно, все они задокументированы в руководстве.)
В целом я считаю, что новым пользователям в большинстве случаев будет лучше с pgfplots
, также потому, что там гораздо больше доступных примеров. Например, pgfplots
на этом сайте примерно в 100 раз больше постов с тегами, чем datavisualization
. Правда, некоторые из них дублируют друг друга, но тем не менее примеров гораздо больше.
Излишне говорить, что существуют альтернативы, такие как tikz-3dplot
, pstricks
и asymptote
. tikz-3dplot
Это очень мощный инструмент для рисования эскизов, asymptote
имеющий настоящий 3D-движок и множество функций, которые порой не получают должного признания.