Латексная команда \ phantom не отображается в легенде matplotlib

Вы можете использовать diff для этого.

yd <- diff(y)
ifelse(yd > 0, print('bigger'), print('smaller'))

Причина, по которой ваш цикл всегда печатает больше, потому что i всегда меньше i+1 ... посмотрите, что вы просите ... вы имеете в виду y[which(y==i) + 1] > i или что-то еще ... Если вы должны использовать цикл, вы можете сделать что-то вроде этого:

for (i in seq_along(y)) {
  if (y[i+1] > y[i]) {
    print('bigger')
  } else {
    print('smaller')
  }
}

Но, на мой взгляд, векторная версия с использованием diff будет намного эффективнее и понятнее.

0
задан derNincompoop 16 January 2019 в 20:46
поделиться

1 ответ

Следующее решение не идеально, но я все еще думаю, что стоит поделиться с вами. Я адаптировал ее из к этой более или менее похожей проблеме, хотя проблема линкования немного отличается. Как видите, выравнивание не идеальное. Возможно, вам придется немного подправить его. Мне пришлось удалить title_fontsize из plt.legend(), так как кажется, что он не совместим с matplotlib 2.2.2.

matplotlib.rcParams['text.usetex'] = True
matplotlib.rcParams['text.latex.preview'] = True

# Plot legend
legend_labels = [r'$\quad \quad \quad  \textsc{Prev.} < %i\%% 

enter image description here

% (15), r'$%i\%% \leq \textsc{Prev.} < %i\%%

enter image description here

% (15, 25), r'$%i\%% \leq \textsc{Prev.} < %i\%%

enter image description here

% (25, 35), r'$%i\%% \leq \textsc{Prev.} < %i\%%

enter image description here

% (35, 45), r'$%i\%% \leq \textsc{Prev.}

enter image description here

% (45)]

enter image description here

0
ответ дан Sheldore 16 January 2019 в 20:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: