主要问题是您无法将轴旋转到正确的位置,因为总是翻转到下侧。因此,您需要创建它们。
方法如下:
% Equilateral grid
tcorner = [0.0, 0.5, 1.0; % x
0.0, 1.0*sqrt(3)/2, 0.0]; % y
tg = triangle_grid( 1/0.05, tcorner);
tgx = tg(1,:);
tgy = tg(2,:);
% Create triangles
tri = delaunay(tgx,tgy);
col = rand(size(tgx));
trisurf(tri,tgx,tgy,col)
view(0,90)
colormap('lines')
% setting the axes:
ax = gca;
grid off
ax.YAxis.Visible = 'off';
ticks = (0:20:80).';
% bottom axis:
tickpos = linspace(tcorner(1,1),tcorner(1,3),numel(ticks)+1);
ax.XAxis.FontSize = 14;
ax.XAxis.TickValues = tickpos(1:end-1);
ax.XAxis.TickLabels = ticks;
ax.XAxis.TickLabelRotation = 45;
xlabel('X axis title');
% left & right axis:
ticksxpos = linspace(tcorner(1,1),tcorner(1,3),numel(ticks)*2+1);
ticksypos = linspace(tcorner(2,1),tcorner(2,2),numel(ticks)+1);
text(ticksxpos(numel(ticks)+1:-1:2)-0.03,... % left
ticksypos(end:-1:2)+0.03,...
num2str(ticks),'FontSize',14,...
'VerticalAlignment','bottom',...
'HorizontalAlignment','left',...
'Rotation',-45)
text(ticksxpos(end:-1:numel(ticks)+2)+0.05,... % right
ticksypos(1:end-1)-0.03,...
num2str(ticks),'FontSize',14,...
'VerticalAlignment','bottom',...
'HorizontalAlignment','right')
ax.Parent.Color = 'w';
% titles:
text(tcorner(1,2)/2-0.06,tcorner(2,2)/2+0.06,...
'Left title','FontSize',14,...
'HorizontalAlignment','center',...
'Rotation',45)
text(tcorner(1,2)+tcorner(1,2)/2+0.06,tcorner(2,2)/2+0.06,...
'Right title','FontSize',14,...
'HorizontalAlignment','center',...
'Rotation',-45)
我们得到...