我一直在使用下面的代码绘制运行4个函数所花费的时间。X轴表示执行次数,Y轴表示运行函数所花费的时间。
我想知道你是否能帮助我完成以下任务:
1)设置X轴的限制,以便仅显示正值(X表示每个函数被执行的次数,因此始终为正值)
2)为4个函数创建图例
谢谢,
马克
import matplotlib
from matplotlib.backends.backend_agg import FigureCanvasAgg as FigureCanvas
from matplotlib.figure import Figure
import matplotlib.mlab as mlab
r = mlab.csv2rec('performance.csv')
fig = Figure(figsize=(9,6))
canvas = FigureCanvas(fig)
ax = fig.add_subplot(111)
ax.set_title("Function performance",fontsize=14)
ax.set_xlabel("code executions",fontsize=12)
ax.set_ylabel("time(s)",fontsize=12)
ax.grid(True,linestyle='-',color='0.75')
ax.scatter(r.run,r.function1,s=10,color='tomato');
ax.scatter(r.run,r.function2,s=10,color='violet');
ax.scatter(r.run,r.function3,s=10,color='blue');
ax.scatter(r.run,r.function4,s=10,color='green');
canvas.print_figure('performance.png',dpi=700)
ax.set_xlim(..)
而不是ax.xlim
。此外,在这种情况下,你不需要使用scatter函数。使用plot
更为合适。Scatter函数用于通过第三个和/或第四个变量来改变标记的颜色和/或大小。在你的情况下,使用ax.plot(r.run, r.function1, 'o', color='whatever')
更为合适。 - Joe Kington