在matplotlib中剪切一行的区域

时间:2015-11-25 18:39:15

标签: python python-2.7 matplotlib

我正在使用类似于here提到的想法的matplotlib实现一个行标签类。

我已将matpltotlib.text.Text子类化,原则上它工作正常。 问题是隐藏标签下的行。 到目前为止,我已尝试过两种方法。

  1. 在链接线程中,可以简单地为文本元素指定一个白色边界框。只要标签不能彼此靠近,这种方法就可以正常工作。当它们太靠近时,盒子开始相互覆盖或其他线条。

  2. 我目前正在做的是将相应Line2D对象的ydata设置为标签覆盖的区域中的NaN。这也是次优的,因为只有当线上有很多点时它才有效。然而,我也希望它能用较少的中间点。

  3. 所以这是我的问题:

    在matplotlib中以某种方式删除部分行是否可行?我已尝试使用剪辑框进行线条,但没有成功。那么,如果我例如用一个只有端点的线绘制一条线,我该怎么办呢?

    plt.plot([0,1],[0,1])
    

    并希望该行仅在某个区域显示,例如包含[left,bottom,width,height] = [0.4,0.4,0.2,0.2]的方框?

0 个答案:

没有答案