Mathematica數(shù)據(jù)可視化:圖的創(chuàng)建
在上一篇文章中,我們介紹了Mathematica的數(shù)據(jù)可視化功能,并為下一小節(jié)的社會網(wǎng)絡分析做了一些基礎工作。本文將繼續(xù)探討圖的創(chuàng)建。 Graph函數(shù) 我們知道,Graph函數(shù)是Mathemati
在上一篇文章中,我們介紹了Mathematica的數(shù)據(jù)可視化功能,并為下一小節(jié)的社會網(wǎng)絡分析做了一些基礎工作。本文將繼續(xù)探討圖的創(chuàng)建。
Graph函數(shù)
我們知道,Graph函數(shù)是Mathematica版本8中引入的新函數(shù)。它的加入是有道理的,因為它使得應用更加方便。比如,通過EdgeList和VertexList函數(shù),我們可以獲得圖的邊和點的列表。但需要注意的是,返回的順序與輸入的順序相同。
點的坐標
在實際應用中,我們經(jīng)常需要獲取圖形中點的坐標。有多種方法可以實現(xiàn)這一目標,其中一種是使用AbsoluteOptions[g,VertexCoordinates]命令,另一種是版本9中引入的新命令GraphEmbedding。請看下面的返回結果:
{ 1 -> {0., 0.}, 2 -> {1., 0.}, 3 -> {1., 1.}, 4 -> {0., 1.} }
自定義形狀和樣式
除了坐標,我們還可以隨意指定點和邊的形狀和樣式。一種全局設定的方式是使用選項VertexShapeFunction和EdgeShapeFunction。另一種修改點或邊的方法是對每個點或邊進行單獨封裝,這時候可以使用Property函數(shù)。提到Property,就不得不提PropertyValue命令。它用于提取某個點的某個屬性的值。例如,我們可以提取出第二個點的形狀。此外,PropertyValue還可以用來恢復圖中的屬性。
修改圖的屬性
還有一種使用Property的方式是利用SetProperty函數(shù),用RemoveProperty函數(shù)移除屬性。通過這種方式進行修改不會對原始圖形造成任何影響。