pgfplots 与 datavisualization – 2019 年回顾

pgfplots 与 datavisualization – 2019 年回顾

Z'datavisualization库和包pgfplots(基于TiZ) 都可以在 LaTeX 中生成非常漂亮的图表。对于刚开始做这件事的人来说,两者之间有什么区别,以及什么可能使其中一个比另一个更好?


这个问题自 2012 年起这个从 2014 年开始基本上就问同样的问题。

  • 在 2012 年版本中,答案是datavisualization仍处于实验阶段,因此建议使用pgfplots
  • 2014 年的答案指出,两者都是合理的选择。这里指出的区别是
    • pgfplots更加成熟
    • datavisualization有点冗长

那么,目前的情况如何?首先,这是我浏览完这两份文件后的想法。请详细说明并纠正我错误的印象。

  • pgfplots似乎默认支持更多绘图类型。
  • 在 中datavisualization似乎很容易添加新的情节类型。 同样如此吗pgfplots
  • datavisualization是一个内置解决方案。这保证了与 Ti 其余部分语法的高度互操作性和一致性Z。
  • 两者似乎都带有非常好的默认设置。
  • 我认为两者都允许改变情节各个元素的可视化方式的各个方面。
  • pgfplots拥有更大的用户群,这意味着这里有更多的帮助。
  • 处理大量输入数据的能力是否存在差异?
  • 由于datavisualization被添加到 Ti pgfplots已经存在,我认为作者认为一些设计选择不是pgfplots最优的。

答案1

我无法完全回答这个问题,但我认为有两个选择。

  1. 您不能排除在给定点使用其中任一包来生成 3d 图(例如表面图)的可能性。
  2. 您只想生成二维图。

在第一种情况下,您将不可避免地不得不依赖pgfplots。这是因为pgfplots支持 3d 排序(类型z buffer=sort和朋友的所有键都在这里发挥作用),而datavisalization目前不支持。大多数用户喜欢通用风格。例如,您可能希望所有图的箭头看起来都一样,等等。如果您使用同一个包(在本例中为 pgfplots)进行所有操作,这可以说是最简单的。

在第二种情况下,情况不太清楚。pgfplots非常强大,但也有些复杂。 例如,\foreach循环需要特别注意。 这并不是什么不能学会的东西,但如果你有一个非常清晰的范围,你最终可能会更好地使用datavisualization。 (我个人建议学习如何处理这些陷阱,据我所知,它们都记录在手册中。)

总体而言,我认为在大多数情况下,新用户最好使用pgfplots,因为有更多示例可用。例如,pgfplots此网站上标记的帖子比大约多 100 倍datavisualization。确实,其中一些是重复的,但尽管如此,示例要多得多。

不用说,还有其他的选择,比如tikz-3dplotpstricksasymptotetikz-3dplot它是一种非常强大的素描工具,asymptote有一个真正的 3d 引擎和许多有时没有得到足够重视的功能。

相关内容