--- disqus: ahb0222 GA : G-CQ4L16KHK4 --- # 使用R繪製三元相圖(Ternary plot)結合等高線圖(topographic map) > [color=#40f1ef][name=LHB阿好伯, 11/22, 2019 ][:earth_africa:](https://www.facebook.com/LHB0222/) ###### tags: `R` [TOC] :::success 三元相圖是帶有三個變量的三角圖,它們通常用於化學,岩石學,礦物學,冶金學,材料科學等領域 **特色為其中任一點的三變量總合為100** ::: ![](https://i.imgur.com/CVGYPVQ.png) 首先準備好所需的數據格式 ![](https://i.imgur.com/6AsoV9t.png) 啟動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 ``` ![](https://i.imgur.com/Ek2CaUc.png) **參考資料** > [ggtern: ternary diagrams in R: What is ggtern?](http://www.ggtern.com/) >>[Ternary Interpolation / Smoothing]([http://www.ggtern.com/2015/08/03/ternary-interpolation-smoothing/](http://www.ggtern.com/2015/08/03/ternary-interpolation-smoothing/)) >>> [name=Nicholas Hamilton] >[ggtern contour plot in R - Stack Overflow](https://stackoverflow.com/questions/38160110/ggtern-contour-plot-in-r) >[Plotting ternary diagrams with ggtern]([https://www.geo.fu-berlin.de/en/v/soga/Introduction-to-R/Plotting-Data/ternary-diagrams/index.html](https://www.geo.fu-berlin.de/en/v/soga/Introduction-to-R/Plotting-Data/ternary-diagrams/index.html)) >> [name=Hartmann, K., Krois, J., Waske, B. (2018)] 全文分享至 https://www.facebook.com/LHB0222/ 有疑問想討論的都歡迎於下方留言 喜歡的幫我分享給所有的朋友 \o/ 有所錯誤歡迎指教 ![](https://i.imgur.com/47HlvGH.png)