close

雷達圖(radar chart)亦稱為蜘蛛網圖

今天將講解如何畫出下圖

資料集準備

資料的準備需頭尾相同 不然其折線不會相連

選擇繪製類型

依照需求選取資料欄位 

之後會發現圖片非常醜

最主要原因在於其數據級距相差太多

之後對於其圖形參數進行修改

因步驟過多我錄製成一部影片大家可以隨著影片操作

影片連結

R 繪製雷達圖

數據準備

以Excel建立如下圖的矩陣

先對於其數值取LOG

第一列輸入名稱

而第二三列輸入上下界範圍

之後輸入各組數據即可

並以另存新檔的方式將檔案純為CSV檔

之後大家可以將下方程式碼輸入於R 或是 Rstudio中進行執行

首次使用所需安裝套件(執行程式碼)

## 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")

執行相關程式碼

#載入相關套件
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, "}")))
}

成果如下

相較於Sigmaplot使用R繪圖可以達到相同的結果

且可以有更多的變化並且可以方便給於他人使用

全文分享至

https://www.facebook.com/LHB0222/

有疑問想討論的都歡迎於下方留言

喜歡的幫我分享給所有的朋友 \o/

有所錯誤歡迎指教

arrow
arrow
    創作者介紹
    創作者 阿好伯 的頭像
    阿好伯

    阿好伯的部落格

    阿好伯 發表在 痞客邦 留言(0) 人氣()