我正在创建一个应该解析JUnit XML结果的解决方案(性能测试,ram used / ram free)并创建折线图。基本上我已经全部启动并运行但是我设置ylim值以在0 - 100(%)的Y轴值上打勾,因此在图表上我有完整的百分比视图。 此刻我能够生成类似的东西:
我想要达到的目标是下面的'空'Y轴(从0%开始)和向上(最多100%)。我正在使用set_ylim方法:
chart_fig, chart_ax = plt.subplots(figsize=(8, 4))
chart_ax.plot(parsed_testcase_results[0]['x_axis_values'], parsed_testcase_results[0]['y_axis_values'], 'g',
parsed_testcase_results[1]['x_axis_values'], parsed_testcase_results[1]['y_axis_values'], 'r')
chart_ax.set(xlabel='time (s)', ylabel='percentage (%)')
chart_ax.grid()
chart_ax.autoscale(False)
chart_ax.set_xticks([x for x in range(0, max(parsed_testcase_results[0]['x_axis_values']), 10)])
chart_ax.set_xlim(min(parsed_testcase_results[0]['x_axis_values']), max(parsed_testcase_results[0]['x_axis_values']))
# chart_ax.set_ylim([0, 100])
chart_fig.savefig('test.png')
parsed_testcase_results是一个带有x和y值的字典+图表的标签(简化后不会在帖子中添加太多文字):
[{
'property_name': 'RAM used',
'x_axis_values': array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]),
'y_axis_values': array(['31.70', '31.70', '31.70', '31.70', '31.70', '31.70', '31.70'])
}, {
'property_name': 'RAM free',
'x_axis_values': array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]),
'y_axis_values': array(['68.29', '68.29', '68.29', '68.29', '68.29', '68.29', '68.29']
}
]
但是当我取消注释应该设置ylim的行时,我得到了这个蠕动:
从图像本身开始,我假设[0,100]的限制是在图表上方绘制的,而非图表本身。任何人都知道如何解决这个问题?
提前感谢您的帮助!