You can plot those triangles but then we must currently use the two commands call (ternary & colormap). Note the triangles=true
ternary("@ternary.txt", labels=("Clay","Silt","Sand"), image=true, marker=:p, figsize=10)
colorbar!(pos=(paper=true, anchor=(11,0), size=(8,0.5), justify=:BL, vertical=true, triangles=true),
frame=(annot=:auto, ticks=:auto, xlabel="Label long", ylabel=:units), show=true)
But why are the triangles black & white? Because the GMT colormaps have the notion of background and foreground colors and those by default are black and white. And yes, we can change that but it requires that we manually create the colormap for this data limits (by default that is done automatically under the hood). To make those colors correspond to lowest and highest we do:
C = makecpt(range=(0,75), bg=true)
and now we do
ternary("@ternary.txt", labels=("Clay","Silt","Sand"), image=true, marker=:p, figsize=10, cmap=C)
colorbar!(pos=(paper=true, anchor=(11,0), size=(8,0.5), justify=:BL, vertical=true, triangles=true),
frame=(annot=:auto, ticks=:auto, xlabel="Label long", ylabel=:units), show=true)