我已经尝试过你的terndemo,但我无法获得像你这样的图形数据。我的目的是介绍如何,每个配方负责3d三元图中的不同zetasize。我尝试编辑你的文件,但结果却不同。
%% Three D plot for ZetaSize of oil, surfactant and cosurfactant isotropic mixture blends
experimental = [...
20 60 20
20 50 30
20 40 40
20 30 50
20 20 60
25 60 15
25 50 25
25 40 35
25 30 45
25 20 55
30 60 10
30 50 20
30 40 30
30 30 40
30 20 50
35 55 10
35 45 20
35 35 30
35 25 40];
data = [...
252.2
120.4
165.7
178.3
158.9
322
294.8
265.5
160.7
431.9
225.2
416.3
484.9
458.2
765
362.2
526
331
743.7];
A = experimental(:, 1)';
B = experimental(:, 2)';
C = 1 - (A + B);
ternsurf(A, B, data);
ternlabel('oil', 'surf', 'cosurf***strong text***');
答案 0 :(得分:1)
我已更新此内容以匹配您的数据。请注意,坐标的最后一行不会加到100.我将它除以100并绘制了一个pcolor图而不是3D表面,因为我认为它对您的数据更清晰。如果你想要一个三维表面,你只需要将数据列除以1000就可以得到正确的比例并使用ternsurf
。
%% Three D plot for ZetaSize of oil, surfactant and cosurfactant isotropic mixture blends
experimental = [...
20 60 20
20 50 30
20 40 40
20 30 50
20 20 60
25 60 15
25 50 25
25 40 35
25 30 45
25 20 55
30 60 10
30 50 20
30 40 30
30 30 40
30 20 50
35 55 10
35 45 20
35 35 30
35 45 40 % this row doesn't add to 100
]/100;
data = [...
252.2
120.4
165.7
178.3
158.9
322
294.8
265.5
160.7
431.9
225.2
416.3
484.9
458.2
765
362.2
526
331
743.7];
A = experimental(:, 1)';
B = experimental(:, 2)';
C = 1 - (A + B);
ternpcolor(A, B, data);
shading interp
ternlabel('oil', 'surf', 'cosurf');
colorbar
这导致以下情节: