Да, вам нужно перерисовать линию, но вы можете обрезать строку так, чтобы видна была только та часть, которая вас интересует.Для этого я создаю прямоугольник, покрывающий область, которая представляет prop (a), а затем использую это для создания clip_path
.
import matplotlib.pyplot as plt
from matplotlib.transforms import Bbox
data = [1,5,7,3,5,10,3,6,8]
X0 = 1
X1 = 3
plt.plot(data, label='full results')
# make a rectangle that will be used to crop out everything not prop (a)
# make sure to use data 'units', so set the transform to transData
propArect = plt.Rectangle((X0, min(data)), X1, max(data),
transform=plt.gca().transData)
# save the line so when can set the clip
line, = plt.plot(data,
color='yellow',
linewidth=8,
alpha=0.5,
label='Prop (a)',
)
line.set_clip_path(propArect)
handles, labels = plt.gca().get_legend_handles_labels()
plt.legend(handles, labels)
plt.savefig('highlight.png')
plt.show()
Это приводит к: 
При построении сегмента линии я корректировал прозрачность с помощью ключевого слова alpha
, которое варьируется от 0 до 1 или прозрачногов твердое телоЯ также сделал это более толстой линией, выходящей за рамки первоначальных результатов.