Wolfram 언어를 사용하여 Wolfram 언어를 해석하십니까?
Mathematica의 모든 기능의 관계를 플로팅하고 싶습니다 . D3.js에서 강제 방향 그래프를 사용 Graph
하거나
k =
DeleteCases[
WolframLanguageData[All, {"CanonicalName", "RelatedSymbols"}], {_, _Missing}];
k = MapAt[CanonicalName, k, {All, 2}];
data =
DeleteDuplicates[
Sort /@ Flatten[Thread[#[[1]] \[UndirectedEdge] #[[2]]] & /@ k]];
GraphPlot[data, VertexSize -> Tiny, ImageSize -> Full]

그러나 수치가 너무 큽니다. 확대하고 정점을 도구 설명하는 방법이 있습니까?
나는 시도했지만 Tooltip
음모를주지 않았습니다.
Graph[Tooltip[#, #] & /@ VertexList[data], data]

그리고 오디오, 이미지 및 핵심 언어와 같은 범주별로 이러한 기능을 구별하기 위해 색상을 사용하려면 어떻게해야합니까?

기계 학습을 사용하여 내가 시도한 기능을 구별 할 수 있었지만 잘 작동하지 않았습니다.
space =
Thread[
VertexList[data] ->
DimensionReduce[
FeatureExtract[VertexList[data], {"SegmentedWords", "TFIDF"}],
1]];
space[[All, 2]] = Normalize[Flatten@space[[All, 2]]];
NumberLinePlot[space[[All, 2]]]

최신 정보:
버전 : 12.1.1
이것들은 이미 NestGraph
의 문서 에서 데모였습니다 .

답변
기술 지원 CASE : 4620942
$Version
(* "12.1.1 for Mac OS X x86 (64-bit) (June 19, 2020)" *)
Clear["Global`*"]
flinty가 제안했듯이 documentation
graph = WolframLanguageData["Cos", "RelationshipCommunityGraph"]

정점의 레이블이 제대로 렌더링되지 않습니다.
Show[graph, ImageSize -> Large]

해결 방법으로 레이블을 수동으로 수정하십시오.
graph /. Style[lbl_, _List] :> lbl

r
정점 주변 반경 을 가진 이웃을 추출 할 수있는 함수를 정의합니다 n
.
subgraph[g_, n_, r_] := Subgraph[g, AdjacencyList[g, n, r]~Join~{n}]
Sin
함수 까지의 거리 가 2 인 이웃을 살펴 보겠습니다.
subg = subgraph[Graph[data], "Sin", 2];
GraphPlot[HighlightGraph[subg, {"Sin"}], VertexLabels -> "Name", ImageSize -> Large]

다음 HTML에서 사용할 그래프 데이터를 내 보냅니다.
json = {"nodes" ->
Table[{"id" -> i, "group" -> 1}, {i, VertexList@subg}],
"links" ->
Table[{"source" -> i[[1]], "target" -> i[[2]], "value" -> 1}, {i, EdgeList@subg}]};
Export["miserables.json", json]
D3.js v4 Force Directed Graph with Labelsindex.html
에서 D3.js 스크립트 다운로드
그런 다음 터미널에 다음을 입력합니다 (python3). python -m http.server
그런 다음 http://localhost:8000/
Chrome에서 열면 그림이 대화식으로 정점을 드래그 할 수 있습니다.

그러나 전체 큰 그래프의 경우 D3.js가 처리 할 수 없습니다.