在MATLAB和Python中绘制性能分析图

0 投票
4 回答
942 浏览
提问于 2025-04-18 00:53

在这里输入图片描述

我应该用什么函数来绘制上面不同算法的性能图?这些运行时间的数据是从 Python 实现中获取的,存储在不同算法的列表里。Python 或 Matlab 中有没有什么内置函数可以自动绘制这种图形?谢谢!

4 个回答

0

我用Python脚本制作简单的性能图表,就像问题中提到的那样,这些脚本依赖一个叫做leather的Python模块。比如,在下面这个gist.github.com的链接里:

https://gist.github.com/lhuemill/f1273291e5f5e85e4b42e5c7614e60ef

里面有一个名为permutations2x2_chart_results的Python脚本,它就是用来做这个的。默认情况下,这个脚本会生成一个SVG格式的图表。SVG是一种大多数流行网页浏览器都支持的格式,它是矢量图而不是位图。矢量图在制作这类性能图表时通常是个不错的选择,因为用户可以放大图表的任何部分,以获取更多细节,而不会出现像素化的问题。

0

有一个Python函数可以绘制这些性能图,你可以在这里找到相关的说明和代码:这里。导入这个函数后,使用你的数据生成一个Pandas DataFrame对象(具体步骤可以参考说明),然后生成性能图就很简单了。

如果你需要一个MATLAB脚本来绘制性能图,可以在这里找到:这里

0

你可以在Python中使用Matplotlib库来做类似的事情,具体可以用到stepplot这两个函数。

在Matlab中,你可以使用plotstairs这两个函数。

0

你需要把你算法的表现结果存储在一个列表里(如果你用的是Python)或者存储在一个矩阵里(如果你用的是Matlab),然后再把这些结果画出来。

Matlab自带了几个绘图函数,比如figure()、plot()和subplot(),你需要用这些函数来画图。

在Python中,你可以使用一个叫做Matplotlib的第三方库。顺便说一下,Matplotlib提供了一个类似Matlab的环境,叫做PyLab,它试图模拟Matlab的命令。

撰写回答