R語言:繪制知識圖譜


知識圖譜主要是通過將應用數學,圖形學,信息可視化技術,信息科學等學科的理論與方法與計量學引文分析、共現分析等方法結合,利用可視化的圖譜形象地展示學科的核心結構、發展歷史、前沿領域以及整體知識架構達到多學科融合目的的現代理論。

今天我們借助networkD3包里面的simpleNetwork 函數來繪制一個類似CSDN微信開發的知識圖譜,效果圖如下:


 

首先我們先來分析一下這張圖,圖里面的微信支付——微信支付,小程序——小程序,等這些,它們之間本不需要連線,但這里是為了美觀好看,才有這些連線,但實際卻沒有什么意義。使用simpleNetwork 函數不能繪制類似微信支付——微信支付 的這種關系。我把這些數據整理寫在了一個TXT文件里面,截圖如下。



接下來我們分析一下 simpleNetwork,它的原型如下:

 

simpleNetwork(Data, Source = NULL, Target = NULL, height = NULL,  
  width = NULL, linkDistance = 50, charge = -200, fontSize = 7,  
  fontFamily = "serif", linkColour = "#666", nodeColour = "#3182bd",  
  nodeClickColour = "#E34A33", textColour = "#3182bd", opacity = 0.6,  
  zoom = F)  
 

參數解釋如下:

Data

數據源

Source

默認為數據框的第一行,網絡源變量

Target

默認為數據框的第二行,網絡源目標變量

height

設置圖像所占頁面大小

width

設置圖像所占頁面大小

linkDistance

中間連線的長度,默認為50,數值越大,連線越長

charge

點與點之間的吸引力,值越大,點與點之間距離越近,值越小,點與點之間距離越大

fontSize

節點名稱字體大小

fontFamily

設置標簽字體

linkColour

連線顏色 

nodeColour

節點顏色

nodeClickColour

點擊后顏色

textColour

字體顏色

opacity

opacity=0時,透明度為0,看不到圖像,最大值為1,超過1也默認為1

zoom

邏輯值為true是可以縮放,false時無法縮放

 

 

我想這里有了上面這個參數表,大家肯定就會對simpleNetwork這個函數十分了解了。首先我們來一個最簡單。

 

data<-read.table("network.txt",header = FALSE, sep = "")#讀取數據  
simpleNetwork(data)  

  

 

結果如下:

 

現在我們就多加一些參數,然后看一下整體效果。

 

simpleNetwork(data,#數據  
       fontFamily="華文行楷",#字體設置  
       linkColour="#B23AEE",#連線顏色  
       nodeColour="#00CD66",#節點顏色  
       textColour="#0000FF",#文本顏色  
       charge = -550,#節點之間的引力  
       opacity=0.9,#透明度  
       zoom=TRUE #可縮放  

  

結果如下:



至於其他參數大家可以自己去試試。,關注我的微信公眾號《跟着菜鳥一起學R語言》,回復simpleNetwork,即可獲取這次試用到的數據以及 RGB顏色查詢對照表。


轉載請注明原文鏈接:http://blog.csdn.net/wzgl__wh/article/details/53290514


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM