我经常在 R 中制作数字(探索性数据分析类型)。我也在 Python 中编程,想知道 matplotlib 中是否有值得学习的特性或概念。例如,我对 R 非常满意——但它的 image() 函数会生成带有像素化输出的大文件,而 Matlab 的等效图形(我也经常在 Matlab 中编程)似乎在文件大小上是可控的,而且“平滑”——确实matplotlib 也提供这样的减少......?但更一般地说,我想知道 matplotlib 可能带来的其他优势。我并不是说这是一个拖钓问题。谢谢。
2 回答
这是一个很难回答的问题。
我最近将我的一些绘图工作负载从 R 切换到了 matplotlib。以我的拙见,我发现 matplotlib 的图形更漂亮(更好的默认颜色,它们看起来更清晰、更现代)。我还认为 matplotlib 可以更好地渲染 PNG。
不过,对我来说真正的动机是我想在 Python(和 numpy)而不是 R 中处理我的底层数据。我认为这是一个大问题,你想用哪种语言加载、解析和操作你的数据?
另一方面,R 的一个好处是绘图默认值可以正常工作(所有内容都有一个函数)。我发现自己经常翻阅 matplotlib 文档(它们很厚),寻找一些模糊的方法来调整边框或增加线条粗细。R 的绘图程序背后有一些成熟。
我认为最大的优势是matplotlib是基于Python的,你说你已经知道了。所以,这是一种少学的语言。只需花时间掌握 Python,您将直接受益于手头的绘图任务和间接满足您的其他 Python 需求。
此外,恕我直言,Python 是一种整体上比 R 更丰富的语言,有更多的库可以帮助完成各种任务。您必须访问数据以进行绘图,并且数据有多种形式。无论以何种形式出现,我确信 Python 都有一个高效的库。
以及如何将这些图嵌入到更完整的程序中,比如简单的 GUI?matplotlib 很容易与 Python 的 GUI 库(如 PyQT)绑定,您可以制作只有您的想象力限制的东西。