[ad_1]
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
[ad_2]
solved Creating a ternary plot