Python boxplot在自动打印边界/限制处失败
我手动将一组箱线图放入一个图中 我使用的代码如下(我在别处计算平均值、iqr、CL等): 我在循环中这样做,在某个位置x放置一个方框图 我不会对轴限制进行任何更改。结果图如下所示:Python boxplot在自动打印边界/限制处失败,python,matplotlib,plot,boxplot,Python,Matplotlib,Plot,Boxplot,我手动将一组箱线图放入一个图中 我使用的代码如下(我在别处计算平均值、iqr、CL等): 我在循环中这样做,在某个位置x放置一个方框图 我不会对轴限制进行任何更改。结果图如下所示: 1个x记号是怎么回事 x和y的极限都刚刚关闭 这似乎是一个bug 不,我不能只是手动设置限制等,因为这必须是一个完全通用的代码 到目前为止,我尝试的是: 在循环过程中,当我计算长方体图时,尝试跟踪到目前为止看到的最大y值和最大x值等,然后在结束时手动将边界设置为该值。但是,这里也出现了其他问题,例如超出绘图范围的
- 在循环过程中,当我计算长方体图时,尝试跟踪到目前为止看到的最大y值和最大x值等,然后在结束时手动将边界设置为该值。但是,这里也出现了其他问题,例如超出绘图范围的框等,然后我必须手动调整限制以超出框的宽度等
- 在plt.show()之前绘图后,我使用了“ax.axis('auto')”和“ax.set_autoscale_on(True)”,但不起作用:
谢谢。我想你应该使用
ax.bxp
,它不做引导,看看manage\u xticks=False
kwarg在bxp
或boxplot
上,以防止它弄脏蜱虫。这实际上帮助很大,但没有解决问题。我发现问题与将方框图放置在x值位置有关,并且可能很接近,例如将一个方框放置在“0.2004”和一个方框放置在“0.2010”或其他位置。这显然混淆了matplotlib最后一点:除了使用“ax.bxp”之外,我还必须手动将xlim设置为数据范围。Plot仍然在边缘附近切割箱线图,但这可以通过找到框的宽度并将其添加到我猜的限制来解决。我怀疑您应该使用ax.bxp
,它不进行引导,并查看bxp
或箱线图上的manage_xticks=False
kwarg以防止这实际上帮了大忙,但并没有解决问题。我发现问题与将方框图放置在x值位置有关,并且可能很接近,例如将一个方框放置在“0.2004”和一个方框放置在“0.2010”或其他位置。这显然混淆了matplotlib最后一点:除了使用“ax.bxp”之外,我还必须手动将xlim设置为数据范围。Plot仍然在边缘附近剪切boxplot,但这可以通过找到框的宽度并将其添加到我猜的限制来解决。
A = np.random.random(2)
D = plt.boxplot(A, positions=np.atleast_1d(dist_val), widths=np.min(unique_dists_vals) / 10.) # a simple case with just one variable to boxplot
D['medians'][0].set_ydata(median_)
D['boxes'][0]._xy[[0,1,4], 1] = iqr[0]
D['boxes'][0]._xy[[2,3],1] = iqr[1]
D['whiskers'][0].set_ydata(np.array([iqr[0], CL[0]]))
D['whiskers'][1].set_ydata(np.array([iqr[1], CL[1]]))
D['caps'][0].set_ydata(np.array([CL[0], CL[0]]))
D['caps'][1].set_ydata(np.array([CL[1], CL[1]]))