This is a ternary diagram where each point does has a fourth value, besides the three that are the coordinates. Instead of stating this fourth value as a node next to each plotted point, the points should be coloured according to their value.
This code was posted by eject on TeX.SE.
Edit and compile if you like:\documentclass[border=5pt]{standalone}
\usepackage{pgfplots}
\pgfplotsset{width=7cm,compat=1.8}
\usepgfplotslibrary{ternary}
\renewcommand*{\familydefault}{\sfdefault}
\usepackage{sfmath}
\begin{document}
\begin{tikzpicture}
\begin{ternaryaxis}[colorbar, colormap/jet,
xmin = 0,
xmax = 100,
ymin = 0,
ymax = 100,
zmin = 0,
zmax = 100,
xlabel = component 1,
ylabel = component 2,
zlabel = component 3,
grid = both,
label style = {sloped},
minor tick num = 3,
]
\addplot3+[only marks,
point meta=\thisrow{myvalue}, % uses ’point meta’ as color data.
nodes near coords*={\tiny{\pgfmathprintnumber\myvalue}}, %does what it says
visualization depends on={\thisrow{myvalue} \as \myvalue} %defines visualization dependency
] table {
x y z myvalue
10 0 90 7.1
40 0 60 9.2
50 0 50 9.8
70 0 30 8.5
20 30 50 5.5
20 20 40 5
20 50 30 4.8
30 40 30 6.3
30 20 50 7.1
40 20 40 7.8
40 30 30 7.4
40 40 20 6.9
40 50 10 6.7
10 10 80 4.7
10 20 70 4.2
10 30 60 3.7
10 40 50 3.5
10 50 40 3.2
10 70 20 4.8
10 80 10 5.2
50 30 20 7.8
50 20 30 8.3
60 10 30 9
70 20 10 9.2
80 10 10 9.9
20 10 70 6.2
40 60 0 6.6
70 30 0 9.3
50 10 40 8.9
20 20 60 5.9
};
\end{ternaryaxis}
\end{tikzpicture}
\end{document}
