Вы можете определить размеры точек, но это не то, как нужно подходить к проблеме.Лучшим способом было бы нарисовать точки после рисования линий, чтобы точки располагались сверху.
Этого можно добиться с помощью 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()
, и при этом получился бы сюжет

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