平面に点の集合が与えられた場合、Graphics[Polygon[T]]
は点によって生成されたポリゴンをプロットします。T={a1,a2,...,an}
ポリゴンの頂点にラベルを追加するにはどうすればよいですか?ラベルとしてのインデックスだけが良いとは言えません。何か案は?Mathematicaのポリゴンの頂点にラベルを付ける
6
A
答えて
9
pts = {{1, 0}, {0, Sqrt[3]}, {-1, 0}};
Graphics[
{{LightGray, Polygon[pts]},
{pts /. {x_, y_} :> Text[Style[{x, y}, Red], {x, y}]}}
]
も
pts = {{1, 0}, {0, Sqrt[3]}, {-1, 0}};
Graphics[
{{LightGray, Polygon[pts]},
{pts /. {x_, y_} :> Text[Style[{x, y}, Red], {x, y}, {0, -1}]},
{pts /. {x_, y_} :> {Blue, PointSize[0.02], Point[{x, y}]}}
}
]
をポイントを追加するには、更新:
がインデックスを使用します。
pts = {{1, 0}, {0, Sqrt[3]}, {-1, 0}};
Graphics[
{{LightGray, Polygon[pts]},
{pts /. {x_, y_} :>
Text[Style[Position[pts, {x, y}], Red], {x, y}, {0, -1}]}
}
]
7
Nasser's version (update)pattern matchingを使用しています。これはfunctional programmingを使用します。 MapIndexed
は、Position
を見つける必要なしに、座標とそのインデックスの両方を提供します。
pts = {{1, 0}, {0, Sqrt[3]}, {-1, 0}};
Graphics[
{
{LightGray, Polygon[pts]},
MapIndexed[Text[Style[#2[[1]], Red], #1, {0, -1}] &, pts]
}
]
か、あなたが
MapIndexed
を好きではない場合は、ここでは(レベル1、中置記法
@@@
で)
Apply
とバージョンです。
pts = {{1, 0}, {0, Sqrt[3]}, {-1, 0}};
idx = Range[Length[pts]];
Graphics[
{
{LightGray, Polygon[pts]},
Text[Style[#2, Red], #1, {0, -1}] & @@@ ({pts, idx}\[Transpose])
}
]
これは、次のように任意のラベルに拡張することができます。
pts = {{1, 0}, {0, Sqrt[3]}, {-1, 0}};
idx = {"One", "Two", "Three"};
Graphics[
{
{LightGray, Polygon[pts]},
Text[Style[#2, Red], #1, {0, -1}] & @@@ ({pts, idx}\[Transpose])
}
]
0
あなたはこのためGraphPlot
のオプションを活用することができます。例:
c = RandomReal[1, {3, 2}]
g = GraphPlot[c, VertexLabeling -> True, VertexCoordinateRules -> c];
Graphics[{[email protected], g[[1]]}]
あなたも、あなたがしたい場合はVertexLabeling -> Tooltip
、またはVertexRenderingFunction
を利用することができますこの方法。エッジをオーバーレイしたくない場合は、GraphPlot
機能にEdgeRenderingFunction -> None
を追加することができます。例:
c = RandomReal[1, {3, 2}]
g = GraphPlot[c, VertexLabeling -> All, VertexCoordinateRules -> c,
EdgeRenderingFunction -> None,
VertexRenderingFunction -> ({White, EdgeForm[Black], Disk[#, .02],
Black, Text[#2, #1]} &)];
Graphics[{Brown, [email protected], g[[1]]}]
関連する問題
- 1. ポリゴン頂点の最小化
- 2. ウェイト付き頂点を持つポリゴンの重心を見つける
- 3. ポリゴン間の共有頂点の検索
- 4. サークルグラフの頂点の外に頂点ラベルを自由に配置するR
- 5. R igraph:条件によるラベル頂点
- 6. Jungライブラリを使った頂点のラベル
- 7. 頂点ラベルでグラフを分割する
- 8. Googleマップのポリゴンの頂点を変更する
- 9. Pythonによる頂点の色付け - Chromatic numbers X(G)
- 10. PythonでmplPathを使ってポリゴンの頂点を定義する
- 11. オラクル空間のポリゴン頂点を反時計回りに
- 12. 頂点ラベルに基づくトラバーサル
- 13. ポリゴンの頂点で外角を計算する
- 14. OpenGL ESポリゴンと頂点の情報を保存する
- 15. DSEグラフは2つの頂点ラベルの同じ頂点部分ですか?
- 16. 接続されたコンポーネントのラベル付けの結果に基づいてポリ頂点を計算する
- 17. 頂点の頂点を頂点で4.2で検証する
- 18. 頂点シェーダ内のポリゴン内のすべての頂点にアクセスできますか?
- 19. igraph(R)のルート頂点と終点のみのラベル?
- 20. 移動する頂点でポリゴンを作成する方法は?
- 21. matplotlibでポリゴンをプロットする、頂点でエラーが発生する
- 22. コスモスDBの頂点のラベルに使用できる文字
- 23. 多面体3クラスの頂点のインデックス付け
- 24. zedgraphの特定の点にラベルを付けて円を描く
- 25. ポリゴン座標/頂点/ノード(GoogleマップV3)の削除方法
- 26. ポリゴンの頂点 - 時計回りまたは反
- 27. シェーダ付き頂点バッファオブジェクト/頂点配列オブジェクト
- 28. セージプロットの個々の点にラベルを付けます
- 29. 頂点の異なる言語の個々のラベル4.11
- 30. フレーム内のIDを頂点名と照合して頂点にラベルを追加しますか?
これは本当に素晴らしいです。ほとんど私が後にしている。どのようにあなたの例を変更し、座標ではなくラベルとして頂点のインデックスを得ることができますか?前もって感謝します! – Dror
が更新されました.... – Nasser
WOW!それは本当に素晴らしいです!あなたは何か魔法の説明を追加できますか? – Dror