Рассмотрим пример ниже:
pca=[0.7,0.2,0.08,0.02]
cumsum=np.cumsum(pca)
ax = sns.lineplot(x =np.arange(len(pca)),y=cumsum)
x_hline = np.argwhere(cumsum>=0.95)[0] # = 3
#ISSUE: Missing some code here to calculate x_hline correctly#
#
#
#
ax.axhline(y=0.95,xmin=0,xmax=x_hline)
Я хочу нарисовать горизонтальную линию, которая начинается с 0 и заканчивается, когда мы достигли значения x на x_hline
. Поскольку xmax
- это указанное соотношение ширины рисунка, т.е. между 0 и 1, анализировать x_hline
невозможно. Я пытался сделать
x_hline= np.argwhere(cumsum>=0.95)[0] #Assume it is "3"
x_hline= (1-1/x_hline)
, и он работает (в большинстве случаев, хорошо), но это не очень надежно. Есть ли способ получить точное соотношение ширины, где элемент / xtick соответствует отношению ширины (в этом случае, в какой точке отношения отображается третий элемент?)
EDIT : Переписать вопрос