雷達圖(Log座標) R 與 Sigmaplot 繪製方法

markdown 雷達圖(_radar chart_)亦稱為蜘蛛網圖 今天將講解如何畫出下圖 ![](https://i.imgur.com/wAQnPaL.png) # 資料集準備 資料的準備需頭尾相同 不然其折線不會相連 ![](https://i.imgur.com/JEdAGr6.png) 選擇繪製類型 ![](https://i.imgur.com/krjsxX1.png) 依照需求選取資料欄位 ![](https://i.imgur.com/r0t7Oqd.gif) 之後會發現圖片非常醜 最主要原因在於其數據級距相差太多 ![](https://i.imgur.com/HUpjBE0.png) 之後對於其圖形參數進行修改 因步驟過多我錄製成一部影片大家可以隨著影片操作 **[影片連結](https://youtu.be/MVrMaXUKvho)** # R 繪製雷達圖 ## 數據準備 以Excel建立如下圖的矩陣 先對於其數值取LOG 第一列輸入名稱 而第二三列輸入上下界範圍 之後輸入各組數據即可 ![](https://i.imgur.com/EYEyKHb.png) 並以另存新檔的方式將檔案純為CSV檔 之後大家可以將下方程式碼輸入於R 或是 Rstudio中進行執行 ## 首次使用所需安裝套件(執行程式碼) ```ruby=1 ## Version 1.1.463 ## coding: utf-8 ## Create a logarithmic scale of radar chart in R install.packages("fmsb") install.packages("ggplot2") install.packages("latex2exp") ``` ## 執行相關程式碼 ```ruby=10 #載入相關套件 library(ggplot2) library(fmsb) library(latex2exp) Data_flie <- file.choose() #選取資料檔 Data <- read.csv(Data_flie, row.names = 1) samplenum <- dim(Data)[1]-2 par(family = "serif",font = 1) radarchart(Data, col = c(1,samplenum),lty = 2, pty = c(1:samplenum), cglcol="grey", cglty=1, axislabcol="grey",plty=c(1:samplenum),axistype=0,seg = 6, caxislabels=seq(0,6,1),cglwd=0.8, vlcex=1) legend(x=0.7, y=1, legend = rownames(Data[-c(1,2),]), bty = "n", pch=c(1:2) , col = c(1:samplenum), text.col = c(1:samplenum), cex=1.2, pt.cex=1.2) text(0,0,"mg/kg") for(i in Data[1,1]:Data[2,1]){ text(0,1/length(Data[1,1]:Data[2,1])*(i+1),TeX(paste0("10^{", i, "}"))) } ``` 成果如下 ![](https://i.imgur.com/gjzwZ4L.png) 相較於Sigmaplot使用R繪圖可以達到相同的結果 且可以有更多的變化並且可以方便給於他人使用 全文分享至 https://www.facebook.com/LHB0222/ 有疑問想討論的都歡迎於下方留言 喜歡的幫我分享給所有的朋友 \o/ 有所錯誤歡迎指教

留言

這個網誌中的熱門文章

Excel_統計_簡單線性回歸_檢量線

分享超實用數學神器!!!再複雜的數學式都可以辨識_擷取圖片自動轉成LaTex

軟體分享_Imagej_顆粒計算_孔隙率計算_孔徑分布