Wolfram言語

Knowledgebaseへの幅広いアクセス

Wolfram言語の可視化

Wolfram言語の構造とWolfram Knowledgebaseとの関係はさまざまな方法で可視化することができる.この例では,両者の関係を包み込んだワードクラウドを作り,計算的に調べたり,ドキュメントの出力を集めたり, Wolfram言語のシンボルの一部として名前が使われている人々に関連した場所と時点を可視化したりする.

WolframLanguageDataドキュメントに使われている用語のワードクラウドを作る.

In[1]:=
Click for copyable input
WordCloud[ DeleteStopwords[ Flatten[TextWords[ WolframLanguageData["WolframLanguageData", "TextStrings"]]]]]
Out[1]=

Plotのドキュメント中の基本例題の出力のコラージュを作る.

In[2]:=
Click for copyable input
ImageCollage[ Cases[WolframLanguageData["Plot", "DocumentationBasicExamples"], c : Cell[_, "Output", ___] :> Rasterize[RawBoxes[c]], \[Infinity]], ImagePadding -> 10, Background -> Transparent]
Out[2]=

Plotのドキュメントの「全」例題の出力グラフィックスをコラージュにする.

完全なWolfram言語入力を表示する
In[3]:=
Click for copyable input
evaluate[l_List] := Module[{p}, p = l /. RawBoxes[Cell[BoxData[wlc_], "Input", ___]] :> ToExpression[wlc, StandardForm, Hold]; Block[Evaluate[ Select[Union[Cases[p, _Symbol, {-1}]], Quiet[Context[#] === "Global`"] &]], ReleaseHold /@ p]]
In[4]:=
Click for copyable input
ImageCollage[ Rasterize[#, ImageSize -> 100] & /@ Cases[Flatten[ evaluate /@ Flatten[WolframLanguageData["Plot", "DocumentationExampleInputs"][[All, -1]], 1]], _Graphics], ImagePadding -> 2] // Quiet
Out[4]=

Wolfram言語のLaplacianGaussianFilterシンボルと関係がある人物の画像を見る.

In[5]:=
Click for copyable input
ImageAssemble[ PersonData[ WolframLanguageData["LaplacianGaussianFilter", "EponymousPeople"], "Image"]]
Out[5]=

Wolfram言語のシンボル名の名祖となった人物を抽出する.

In[6]:=
Click for copyable input
people = DeleteCases[ Union[Flatten[ WolframLanguageData[All, "EponymousPeople"]]], _Missing];

その人たちの生まれた場所の情報を取得する.

In[7]:=
Click for copyable input
placedata = DeleteCases[ PersonData[ people, {"Image", "BirthPlace", "Name"}], {_, _Missing, _}];

これらの場所と関連する人々を世界地図上で見る.

完全なWolfram言語入力を表示する
In[8]:=
Click for copyable input
GeoGraphics[ Tooltip[Point[#2], Column[DeleteCases[{##} /. e_Entity :> CommonName[e], _Missing]]] & @@@ placedata] // Quiet
Out[8]=

Wolfram言語のシンボル名の名祖となった人々の出生日と死亡日を取り出す.

In[9]:=
Click for copyable input
timedata = Block[{EntityFramework`$EntityValueBatchSize = 300}, DeleteCases[ PersonData[ people, {"BirthDate", "DeathDate", "Name", "Image"}], {_Missing, __}]];

タイムラインプロットを作る.

完全なWolfram言語入力を表示する
In[10]:=
Click for copyable input
formatdates[d1_, d2_] := Row[Riffle[Switch[#, Missing["Alive"], "present", _Missing, "????", _, DateString[#, {"MonthName", " ", "DayShort", ", ", "Year"}] ] & /@ {d1, d2}, "-"]]
In[11]:=
Click for copyable input
TimelinePlot[ Association @@ ((Tooltip[StringSplit[#3, " "][[-1]], Column[{#4, #3, formatdates[#1, #2]}]] -> #1) & @@@ Select[timedata, #[[1]] > DateObject[{1800}] &])]
Out[11]=

関連する例

de en es fr ko pt-br ru zh