我将尝试在matlab中创建一个图形,看起来像这样:
期望的图形
我是这样做的:(i)为每个x,y坐标分配值点,(ii)绘制surf,并且(iii)更改视角,以使第三个轴不可见。以下是代码:
我得到了以下图像:我得到的 Matlab 图像 正如你所见,线条上方有很多白色空间,我希望这些空间也能变成颜色。不幸的是,我不能添加更多网格点,因为计算点的实际值需要很长时间(与上面的示例不同)。
是否有办法让 Matlab 在那些白色空间绘制颜色呢?
谢谢!
x = linspace(0, 1, 10);
y = linspace(0, 1, 10);
z = linspace(0, 1, 10);
z = repmat(z, 10, 1);
z = flipud(triu(z));
z(z==0) = nan;
hold off
surf(x, y, z, 'linestyle', 'none')
colormap([linspace(0.39, 1, 20)',linspace(0.58, 0.25, 20)', linspace(0.93, 0.25, 20)']);
colorbar
xlim([x(1) x(end)])
shading interp
view([90 -90])
hold on
plot(x, 1-y, 'linewidth', 2)
我得到了以下图像:我得到的 Matlab 图像 正如你所见,线条上方有很多白色空间,我希望这些空间也能变成颜色。不幸的是,我不能添加更多网格点,因为计算点的实际值需要很长时间(与上面的示例不同)。
是否有办法让 Matlab 在那些白色空间绘制颜色呢?
谢谢!