我在python脚本中使用matplotlib,该脚本用于进行一些连接测试并将其绘制在图形中。 animate函数从执行连接测试的其他函数获取其数据。
我希望图形x轴将以00:00、01:00 ... 23:00的格式显示所有小时,并且动画功能会将每个点都放在正确的时间点,但我没有进行管理以任何方式做到这一点。 在我附加的图像中,我使用plt.xticks([])设置了x轴刻度线,但是随着线条的增加,该轴只会向右滚动。 代码示例不起作用!它只是动画功能,我不想附加整个代码,因为它无关紧要。
动画函数从生成器获取args,该生成器首先执行测试,然后生成值,首先生成Google,然后生成facebook,master_dict是具有所有测试结果的字典,因此它从中获取绘图的值。 graph_list是2个2d numpy数组的列表,其中包含绘图点。 x_val是日期时间的字符串,格式为“%H:%M”%S“,y_val是测试的浮点值
def animate(args):
url = args[0]
master_dict = args[1]
plot_dict = master_dict[url]
url_id = 1 if 'google' in url else 0
x_val = plot_dict[TIME]
y_val = plot_dict[BYTE]
point = np.array([[x_val, y_val]])
graph_list[url_id] = np.append(graph_list[url_id], point, axis=0)
x, y = graph_list[url_id].T
y = y.astype(np.float)
plt.gcf().autofmt_xdate(rotation=60)
return plt.plot(x, y, color=('g' if url_id else 'r'), linewidth=2)