Добавить текстовые данные в определенные точки разброса, которые не известны
У меня есть точечный график, который выглядит так:
Я могу использовать следующий код для добавления текста из списка в каждую точку разброса:
# 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)