【问题标题】:Plotting a 3d matrix in slices - MATLAB在切片中绘制 3d 矩阵 - MATLAB
【发布时间】:2015-04-14 10:32:19
【问题描述】:

我想绘制我的 3d 矩阵的每个切片以显示第三维的差异。但是,我只能设法将它们彼此并排绘制,并且我想要一个 3d 绘图,其中很明显矩阵的切片实际上是堆叠的。到目前为止,我的两层代码是

visualmatrix=zeros(10);
visualmatrix(1:5,1:5)=1;
visualmatrix2=zeros(10);

visualmatrix2(1:8,1:8)=1;
subplot(1,2,1)
[r,c] = size(visualmatrix);                           %# Get the matrix size
imagesc((1:c)+0.5,(1:r)+0.5,-visualmatrix);            %# Plot the image
colormap(gray);                              %# Use a gray colormap
axis equal                                   %# Make axes grid sizes equal
set(gca,'XTick',1:(c+1),'YTick',1:(r+1),...  %# Change some axes properties
        'XLim',[1 c+1],'YLim',[1 r+1],...
        'GridLineStyle','-','XGrid','on','YGrid','on');

subplot(1,2,2)
[r,c] = size(visualmatrix2);                           %# Get the matrix size
imagesc((1:c)+0.5,(1:r)+0.5,-visualmatrix2);            %# Plot the image
colormap(gray);                              %# Use a gray colormap
axis equal                                   %# Make axes grid sizes equal
set(gca,'XTick',1:(c+1),'YTick',1:(r+1),...  %# Change some axes properties
        'XLim',[1 c+1],'YLim',[1 r+1],...
        'GridLineStyle','-','XGrid','on','YGrid','on');

colorbar
colorbar('Ticks',[-1,0],...
         'TickLabels',{'Equal','Different'})
suptitle('Illustration of the concept')

这导致下图

有没有一种简单的方法可以让它在 3d 图中可视化,即 5 层? 提前谢谢你。

【问题讨论】:

  • 谢谢。经过几次审核,它可以满足我的要求: h=slice(justtest,[], [], 1:size(justtest,3)), colormap(gray),axis tight,set(gca,'Ztick',[ 1 2]) zlabel('\eta'的切片) set(h,'FaceAlpha',.5)

标签: matlab matrix plot


【解决方案1】:

Matlab 中有一个很好的函数。

它被称为slice

它绘制如下内容:

【讨论】:

  • 好漂亮的jet!感谢您传播有关镇上最佳色彩地图的宣传!
猜你喜欢
  • 1970-01-01
  • 2012-01-31
  • 2018-03-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-02
  • 2018-03-06
  • 1970-01-01
相关资源
最近更新 更多