给定一个图,说如何找到最大度数的图中的所有顶点?
g = Graph[{x -> a, y -> c, a -> b,
b -> c, a -> c, d -> c,
a -> d, b -> d},
VertexLabels -> "Name"]
如何找到与最大程度即拥有数量最多的边的所有顶点的列表的图中所有的顶点,并强调他们在图表?
在这种情况下,它将是顶点{a,c}
。
给定一个图,说如何找到最大度数的图中的所有顶点?
g = Graph[{x -> a, y -> c, a -> b,
b -> c, a -> c, d -> c,
a -> d, b -> d},
VertexLabels -> "Name"]
如何找到与最大程度即拥有数量最多的边的所有顶点的列表的图中所有的顶点,并强调他们在图表?
在这种情况下,它将是顶点{a,c}
。
下面是一个使用DegreeCentrality
的方法:
(* In[41]:= *) max = Pick[VertexList[g], DegreeCentrality[g], Max[DegreeCentrality[g]]]
(* Out[41]= *) {a, c}
(* In[42]:= *) HighlightGraph[g, max]
这里是我一直在使用Pick
HighlightGraph[g, Pick[[email protected], [email protected], Max[[email protected]]]]
你通常可以通过突出学位顶点试图
HighlightGraph[g,
Part[[email protected],
[email protected][[email protected], Max[[email protected]]]]]
一样:
HighlightGraph[g,
Table[Style[VertexList[g][[i]],
ColorData["TemperatureMap"][
VertexDegree[g][[i]]/Max[VertexDegree[g]]]], {i, VertexCount[g]}]]
欢迎来到StackOverflow!我看着你的博客和Vimeo频道,这是非常复杂的。 :-)与SO相同格式的新Mathematica特定站点将在几天内发布。您可以[在此处提交](http://area51.stackexchange.com/proposals/37304/mathematica?referrer=23yK9sXkBPQIDM_9uBjtlA2)以获得早期访问权限。 – Szabolcs 2012-01-16 08:30:33
谢谢,Szabolcs!我已经承诺;-) – 2012-01-16 14:54:23
我认为'DegreeCentrality'行为类似于'VertexDegree'? “Pick”+1,节省了几条线,并且更加整洁[比我的方法] – 2012-01-17 00:15:16