Вот два возможных обходных пути.
Увеличьте размер вершины и поместите метки внутри вершины. Конечно, это также зависит от длины меток, но для коротких меток это работает хорошо, в то время как ваш пример выше обрезает любую метку из более чем одного символа для вершины 1.
например:
Table[Graph[{1 -> 2, 2 -> 3, 3 -> 1}, VertexSize -> 0.3,
VertexLabels -> Table[i ->
Placed["vertex" <> ToString[i], p], {i, 3}],
VertexShapeFunction -> "Square", PlotLabel -> p],
{p, {Left, Top, Right, Bottom, Center}}]
Используйте всплывающие подсказки для хранения меток вместо их отображения на графике. [Редактировать: Центр, вероятно, выглядит лучше, а затем вы можете обернуть метки, вставив \ n в строку, если вам нужно, но опять же, зависит от длины метки.]
например:
Graph[{1 -> 2, 2 -> 3, 3 -> 1}, VertexLabels -> Placed["Name", Tooltip]]
Хотя это лишает вас возможности видеть все ярлыки одновременно, у вас никогда не будет отсечения.