Python matplotlib折线图 - 设置ylim值

时间:2018-02-01 12:02:12

标签: python matplotlib charts

我正在创建一个应该解析JUnit XML结果的解决方案(性能测试,ram used / ram free)并创建折线图。基本上我已经全部启动并运行但是我设置ylim值以在0 - 100(%)的Y轴值上打勾,因此在图表上我有完整的百分比视图。 此刻我能够生成类似的东西:

Imgur

我想要达到的目标是下面的'空'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的行时,我得到了这个蠕动:

Imgur

从图像本身开始,我假设[0,100]的限制是在图表上方绘制的,而非图表本身。任何人都知道如何解决这个问题?

提前感谢您的帮助!

0 个答案:

没有答案