如何绘制三个参数的组合

时间:2012-08-18 00:20:34

标签: testing parameters plot matplotlib

我的算法有三个输入参数:

param1 in {0.1, 0.5, 1.0, 90, 95, +inf}
param2 in {10, 20, 30, 40, 60, 80, 100}
param3 in {0.01, 0.05, 0.10}

我对这些输入值的所有组合运行测试,从而产生不同的输出。输出值为两个:# of rejected samples# of non-rejected samples。显然,总和给出了样本总数。

如何绘制所有这些以便直观地确认哪些参数产生最大# of non-rejected samples / total # of samples分数?

我可以使用matplotlib,但是当涉及多个参数时,我不知道如何继续。

1 个答案:

答案 0 :(得分:1)

运气好的话,你会得到一个三维数组的结果。只要param1有合理数量的元素,我就会像这样使用imshow:

max_val = 2000
plot_shape=(3,3)
for n, img in enumerate(data_cube):
    ax = subplot(plot_shape[0], plot_shape[1], n+1)
    title('Results for Param3=%0.3f'%param3[n])
    ax.set_xticks(range(len(params3)))
    ax.set_xticklabels([str(x) for x in params3])
    ax.set_yticks(range(len(params2)))
    ax.set_yticklabels([str(x) for x in params2])
    xlabel('param3')
    ylabel('param2')
    imshow(img, vmin=0, vmax=max_val)