Я пытаюсь создать график трехфазного насыщения в Matlab.
Я нашел этот код в Matlab, и он генерирует что-то похожее, но не совсем то же самое.
Насколько это выглядит просто, я не знаю, как настроить значения в соответствии с графиком на рисунке.,Поскольку у меня нет конкретных значений.Даже если есть способ создать затенение цветов, которое меняется от одного края к другому, это было бы хорошо. Любые предложения, пожалуйста
% Main file for ternary plot
close all; clear all; clc;
A = [...
1.000 0.000 0.000
0.000 1.000 0.000
0.000 0.000 1.000
0.330 0.330 0.340
0.340 0.000 0.660
0.000 0.340 0.660
0.000 0.160 0.840
0.160 0.000 0.840
0.000 0.153 0.847
];
l=length(A);
% A(l+1,:)=[1 0 0 6];
% A(l+2,:)=[0 1 0 30];
% A(l+3,:)=[0 0 1 1];
% ... and the GPR velocity
% v=0.29./sqrt(A(:,4));
data = [...
0.0
0.0
0.0
0.419
0.273
0.090
0.014
0.010
0.00
];
v = data;
figure;
% Plot the data
% First set the colormap (can't be done afterwards)
colormap(jet)
[hg,htick,hcb]=tersurf(A(:,1),A(:,2),A(:,3),v);
% Add the labels
hlabels=terlabel('Gas','Water','Oil');
set(hg(:,3),'color','m')
set(hg(:,2),'color','c')
set(hg(:,1),'color','y')
%-- Modify the labels
set(hlabels,'fontsize',12)
set(hlabels(3),'color','m')
set(hlabels(2),'color','c')
set(hlabels(1),'color','y')
%-- Modify the tick labels
set(htick(:,1),'color','y','linewidth',3)
set(htick(:,2),'color','c','linewidth',3)
set(htick(:,3),'color','m','linewidth',3)
%-- Change the colorbar
set(hcb,'xcolor','w','ycolor','w')
%-- Modify the figure color
set(gcf,'color',[0 0 0.3])
%-- Change some defaults
set(gcf,'paperpositionmode','auto','inverthardcopy','off')
![enter image description here](https://i.stack.imgur.com/BTJGV.jpg)