雷達圖(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/
有所錯誤歡迎指教
留言
張貼留言