changed 4 years ago
Published Linked with GitHub

使用R繪製三元相圖(Ternary plot)結合等高線圖(topographic map)

LHB阿好伯, 11/22, 2019

tags: R

三元相圖是帶有三個變量的三角圖,它們通常用於化學,岩石學,礦物學,冶金學,材料科學等領域
特色為其中任一點的三變量總合為100

首先準備好所需的數據格式

啟動Rstudio安裝所需的套件

## Version 1.2.1335 ## coding: utf-8 ## 繪製三元相圖(Ternary plot)結合等高線圖(topographic map) # 安裝相關套件 install.packages("AlgDesign") install.packages('ggtern') install.packages('ggplot2') install.packages('RColorBrewer') #載入相關套件 library(AlgDesign) library(ggplot2) library(RColorBrewer) library(ggtern)

讀取所準備好的CSV檔

data_ggtern <- read.csv(file.choose()) #以視窗方式取得檔案位址 head(data_ggtern) #查看數據前6筆數據 ## 有時候數據抬頭為中文名稱時讀取後會是亂碼 ##可以利用colnames()重新命名 colnames(data_ggtern) <- c("A", "B", "C", "D")

執行程式碼繪製我們需要的三元相圖

p <- ggtern(data = data_ggtern, aes( x = A, y = B, z = C, value = data_ggtern$D )) + theme_bw() + geom_interpolate_tern( data = data_ggtern, mapping = aes(value = data_ggtern$D, color = ..level..), method = lm, #等高線趨勢資料計算 formula = expand.formula(value ~ cubicS(x, y) + quad(x, y)), base = "identity", ) + #添加資料點 geom_point(size = 2, aes(color = data_ggtern$D)) + #設定顏色漸層 scale_color_gradient(low = 'green', high = 'red') + labs(fill = "D") p

參考資料

ggtern: ternary diagrams in R: What is ggtern?

Ternary Interpolation / Smoothing

Nicholas Hamilton

ggtern contour plot in R - Stack Overflow

Plotting ternary diagrams with ggtern

Hartmann, K., Krois, J., Waske, B. (2018)

全文分享至

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

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

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

有所錯誤歡迎指教

Select a repo