I started with
library(ggtern)
ggtern(df,aes(GRAVEL,SAND,MUD))+geom_point()
Adding fill=Root
within the aes()
function and shape=21
outside would colour in the points according to the value of some other variable, but it only makes most sense to colour the points if you have a separate variable in your data set which could determine the colour — your example above only provides three variables (you could colour them randomly, but that seems a bit silly).
8
solved Creating a ternary plot