0

我创建了一个包含 xerr 的 barh 图。对于误差条的上限,我想要圆形边缘。我试图在error_kw中设置capstyle,但没有成功。

bars = ax.barh(range(3), [1,2,3], 
        xerr=[0.5,0.4,0.3], 
        align='center', color='silver', height=0.5,
        capsize=12, error_kw={'elinewidth':1, 'solid_capstyle':'round'})

之后我还尝试访问 Line2D 对象以更改 capstyle,但也没有成功。

bars.errorbar.lines[1][0].set_solid_capstyle('round')

有人可以给我一个提示我在这里做错了什么吗?

4

1 回答 1

0

我现在发现了问题,我必须访问 cap 的私有属性。代替方法

cap.set_solid_capstyle('round')

我必须访问私有属性:

cap._marker._capstyle = "round"

无论如何感谢您的评论@tmdavison

于 2021-09-18T12:52:23.430 回答