Добавить текстовые данные в определенные точки разброса, которые не известны

У меня есть точечный график, который выглядит так:

Я могу использовать следующий код для добавления текста из списка в каждую точку разброса:

# Add text names to the plot
for i, txt in enumerate(names):
    ax.annotate(txt, (x[i],y[i]), alpha=0.6)

Однако я хочу лишь прокомментировать те моменты, которые прошли 2 на x-axis и выше 2 на y-axis, Как мне это сделать? Документация Matplotlib не дает мне информации о маркировке определенных точек, если я уже не знаю точно, какие из них я хочу редактировать (в этом случае я не знаю).

2 ответа

Решение

Может быть, вы просите аннотировать все точки после 2 на x-axis и все точки после 2 на y-axis, Если это так, это способ сделать:

for i, txt in enumerate(names): 
    if x[i] > 2 or y[i] > 2: 
        # annotate only if a point is having either x > 2 or y > 2.
        ax.annotate(txt, (x[i], y[i]), alpha=0.6)

Вы можете попробовать проверить значения точек, прежде чем их комментировать.

Например

for i, txt in enumerate(names):
    if x[i] > 2 and y[i] > 2:
         ax.annotate(txt, (x[i], y[i]), alpha=0.6)
Другие вопросы по тегам