如何创建视觉分析器?
问题描述:
我想在Python
上看到关于程序运行时间的统计信息。不幸的是,这个程序写在Fortran
和C++
,我不能使用任何语言特定的可视化工具。从程序的输出中,我创建了一个包括不同函数和子例程的开始时间和结束时间的类。例如:如何创建视觉分析器?
class MyProgramRuntime:
def __init__(self):
self.foo1CallTime
self.foo1EndTime
self.foo2CallTime
self.foo2EndTime
我想获得一个类似的情节就像下面的链接上的画面:Picture
答
我不知道这是否是最好的解决办法,但它的作品真的很好,我。我已经使用matplotlib.patches lib绘制长矩形作为实际的函数/子例程以秒为单位运行。类中的变量是浮点变量,我通过从实际的日期时间中提取程序以datetime.timedelta.total_seconds()开始的日期时间来获取它们。绘图如下所示:
import matplotlib.pyplot as plt
import matplotlib.patches as patches
def plotRunningTimes(mpr): #mpr is an instance of the MyProgramRuntime class
fig = plt.figure()
ax = plt.subplot(111)
ax.add_patch(patches.Rectangle((mpr.foo1CallTime, 0.1),
mpr.foo1EndTime-mpr.foo1Calltime,
0.1))