已关闭。此问题为opinion-based。当前不接受答案。
**想要改进此问题吗?**请更新此问题,以便editing this post可以用事实和引文来回答。
两年前关闭了。
Improve this question
我已经开始了一个使用gnuplot-py绘制Tomcat日志的项目,特别是将特定的请求与内存分配和垃圾收集相关联。在gnuplot-py和Matplotlib的Python绘图方面,有什么共同的智慧吗?有没有我没听说过的更好的绘图库?
我的总体考虑是:
- 虽然gnuplot有大量的文档,但gnuplot-py没有。Matplotlib的文档社区有多好?
- 有没有一些事情是gnuplot可以做而gnuplot-py不能做的?
- Matplotlib是否有更好的Python支持?
- 有没有大型节目阻止错误在任何一个?烦恼?
- 目前gnuplot正在绘制100,000个点,我计划将其扩展到数百万。我应该期待问题吗?Matplotlib处理得如何?
- gnuplot与Matplotlib的易用性和周转时间?
- 将现有的gnuplot-py代码移植到Matplotlib有多容易?
你将如何着手完成这项任务?
8条答案
按热度按时间uinbv5nw1#
vs91vp4v2#
Matplotlib =易用性,Gnuplot =(略好)性能
我知道这篇文章是旧的,回答,但我路过,想把我的两分钱.这里是我的结论:如果你有一个不太大的数据集,你应该使用Matplotlib。它更容易,看起来更好。然而,如果你真的需要性能,你可以使用Gnuplot。我添加了一些代码在你的机器上测试它,看看它是否有真正的区别(这不是一个真正的性能基准测试,但应该给予一个初步的想法)。
下图表示所需的时间(以秒为单位):
配置:
我记得当在一台旧计算机上运行旧版本的库时,性能差距要大得多(对于一个大的散点图,大约30秒的差异)。
此外,正如在评论中提到的,你可以得到同等质量的图。但是你必须付出更多的汗水来使用Gnuplot。
Here's the code to generate the graph如果你想给予你的机器上试试:
egdjgwm83#
matplotlib
有很好的文档,而且看起来很稳定。它生成的图很漂亮-“出版质量”是肯定的。由于良好的文档和大量的在线示例代码,它很容易学习和使用,我认为你将gnuplot
代码翻译成它不会有太多麻烦。毕竟,matplotlib被科学家用来绘制数据和准备报告-所以它包含了人们需要的一切。matplotlib的一个显著优点是可以将其与Python GUI(至少是wxPython和PyQt)集成,并创建具有漂亮绘图的GUI应用程序。
eoxn13cs4#
使用GNUplot后(用我自己的Python Package 器)很长时间(真的不喜欢80年代的输出),我刚开始看matplotlib.我必须说我非常喜欢它,输出看起来真的很好,文档是高质量和广泛的(尽管这也适用于GNUplot)。我花了很长时间在matplotlib文档中寻找的一件事是如何写到图像文件而不是屏幕上!幸运的是,这个页面解释得很好:http://www.dalkescientific.com/writings/diary/archive/2005/04/23/matplotlib_without_gui.html
2w2cym1i5#
关于性能和绘制大量的点:我使用gnuplot* 和matplotlib比较了从文本文件加载并保存到png的500.000个点的散点图。
我只运行了一次,结果看起来并不相同,但我认为这个想法很清楚:gnuplot在性能上胜出。
2guxujil6#
我玩过这两个,我更喜欢Matplotlib在Python集成,选项和图形/绘图质量方面。
eyh26e7m7#
Gnuplot可以做什么Gnuplot-Py也可以做什么。因为Gnuplot可以由管道(pgnuplot)驱动。Gnuplot-Py只是它的一个薄层。所以你不需要担心它。
为什么我更喜欢gnuplot?可能是因为它有很多输出格式(PDF,PS和LaTex),这在论文中非常有用,默认的输出看起来更科学:)
dddzy1tm8#
gnuplot
的一些优点(使用多年后我仍然不喜欢matlibplot):sin(x)
(无需定义数组和考虑范围)"<echo 1 2 3"
)gplot.py是Python和Jupyter的另一个gnuplot Package 器。