5

Graph[]Mathematica で頂点ラベルを切り取る傾向があります。堅牢な回避策を探しています。

例:

Graph[{1 -> 2, 2 -> 3, 3 -> 1}, VertexLabels -> "Name"]

Graph[] はラベル '2' を切り取ります

私の現在の回避策:

SetOptions[Graph, ImagePadding -> 12]

ImagePaddingラベルのサイズに応じての値を手動で調整する必要があるため、これは堅牢ではありません。

4

2 に答える 2

2

どうやらオブジェクトで使用FullGraphicsするGraphと、対話性を犠牲にして、表示目的でクリッピングが修正されます。

以下のコメントShow[]に従って、同様に機能し、グラフィックの変更を回避します。

于 2011-05-09T15:16:22.807 に答える
1

考えられる回避策は 2 つあります。

頂点サイズを拡大し、ラベルを頂点内に配置します。もちろん、これはラベルの長さにも依存しますが、短いラベルの場合はうまく機能しますが、上記の例では、頂点 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]]

これにより、すべてのラベルを同時に表示することはできなくなりますが、クリッピングが発生することはありません。

于 2011-05-25T16:30:59.597 に答える