Как рассчитать размер маркера рассеянного участка в matplotlib - PullRequest
0 голосов
/ 28 мая 2019

Допустим, я создал простой график рассеяния matplotlib.

Как бы я тогда нарисовал линию между краями точек на точечной диаграмме? Это означает, что линия будет начинаться и заканчиваться по краям точек?

РЕДАКТИРОВАТЬ: Забыли добавить фрагмент кода

import matplotlib.pyplot as plt


plt.scatter([0, 0, 0], [5, 3, 4], s=250)
plt.scatter([3, 3, 3], [5, 3, 4], s=350)

plt.arrow(0, 5, dx=3, dy=0, width=0.01)
plt.arrow(0, 3, dx=3, dy=0, width=0.01)
plt.arrow(0, 4, dx=3, dy=0, width=0.01)
plt.show()

enter image description here

Как вычесть из dx соединение точек только с ребер

1 Ответ

0 голосов
/ 28 мая 2019

Вы можете определить размеры точек, но это не то, как нужно подходить к проблеме.Лучшим способом было бы нарисовать точки после рисования линий, чтобы точки располагались сверху.

Этого можно добиться с помощью zorder .В вашем примере это выглядело бы как

import matplotlib.pyplot as plt


plt.scatter([0, 0, 0], [5, 3, 4], s=250, zorder=2)
plt.scatter([3, 3, 3], [5, 3, 4], s=350, zorder=2)

plt.arrow(0, 5, dx=3, dy=0, width=0.01, zorder=1)
plt.arrow(0, 3, dx=3, dy=0, width=0.01, zorder=1)
plt.arrow(0, 4, dx=3, dy=0, width=0.01, zorder=1)
plt.show()

, и при этом получился бы сюжет

a scatter plot in which the circles cover lines


В сторону,вы, вероятно, также не ищете arrow, если вы только хотите нарисовать линии между точками.Вы просто ищете plot.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...