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

2019年12月3日 11:54
全文可至下方連結觀賞體驗較佳🤣
目前已開放hackmd的協作功能 若有興趣或是覺得需要補充的都可以前往編輯 簡介 :::success 三元相圖是帶有三個變量的三角圖,它們通常用於化學,岩石學,礦物學,冶金學,材料科學等領域 **特色為其中任一點的三變量總合為100** :::
首先準備好所需的數據格式
啟動Rstudio安裝所需的套件 ``` R ## 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檔 ```R data_ggtern <- read.csv(file.choose()) #以視窗方式取得檔案位址 head(data_ggtern) #查看數據前6筆數據 ## 有時候數據抬頭為中文名稱時讀取後會是亂碼 ##可以利用colnames()重新命名 colnames(data_ggtern) <- c("A", "B", "C", "D") ``` 執行程式碼繪製我們需要的三元相圖 ```R 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]([
](
>>> [name=Nicholas Hamilton] >[ggtern contour plot in R - Stack Overflow](
>[Plotting ternary diagrams with ggtern]([
](
>> [name=Hartmann, K., Krois, J., Waske, B. (2018)] 最後還是推薦大家可以都來學習R語言 R語言網路免費基礎資料與個人推薦書單
有疑問想討論的都歡迎於下方留言 喜歡的幫我分享給所有的朋友 \o/ 有所錯誤歡迎指教
8
回應 0
文章資訊
馬上回應搶第 1 樓...