Try   HackMD

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

LHB阿好伯, Jan 26, 2019 :earth_africa:

tags: 可視化 R SigmaPlot

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

今天將講解如何畫出下圖

資料集準備

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

選擇繪製類型

依照需求選取資料欄位

之後會發現圖片非常醜

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

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

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

影片連結

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

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/

有所錯誤歡迎指教