В matplotlib большая часть подробного контроля должна выполняться через Исполнителей. Я думаю, что это должно делать то, что вы хотите:
import matplotlib.pyplot as plt
from random import uniform as r
x = range(10)
e = plt.errorbar(x, [r(2,10) for i in x], [r(.1,1) for i in x], capsize=8, color='r')
for b in e[1]:
b.set_clip_on(False)
plt.show()
![enter image description here](https://i.stack.imgur.com/2Lv6l.png)
Проблема, с которой вы столкнулись, заключается в том, что ключевое слово clip_on
использовалось для управления маркерами, а не панелями ошибок. Чтобы управлять панелями ошибок, plt.errorbar
возвращает кортеж, где второй элемент представляет собой список панелей ошибок. Итак, я просматриваю список и отключаю вырезку для каждой панели ошибок.