【问题标题】:Drawing a mesh of a triangular matrix in Matlab在 Matlab 中绘制三角矩阵的网格
【发布时间】:2012-01-02 13:36:46
【问题描述】:

我一直在试图弄清楚如何从我在 Matlab 中的 3d 图中“隐藏”三角矩阵的无用部分。

我尝试在图表的那部分上方绘制一个网格

'EdgeAlpha', 1, 'FaceAlpha', 1,'FaceColor','w','EdgeColor','none'

但这无济于事。我应该怎么做呢?

半成品的唯一方法是使用色标,但它并没有一路奏效,而且我需要黑白 eps,即使它最初看起来是白色的,它也会将颜色显示为黑色......

这是我最后的希望 ;) 芭芭拉

【问题讨论】:

  • 您没有真正为我们提供足够的信息来帮助您。您目前使用什么代码来绘制矩阵?你有结果应该是什么样子的示例图像吗?
  • 在为这个问题苦苦挣扎了三个多星期之后,我现在自己弄清楚了。如果将 NaN 值分配给矩阵中不需要的部分,它将不会显示在图表上!我希望这个简单的解决方案被 MATLAB 人员记录在案,或者可以在网上找到......

标签: matlab matrix mesh


【解决方案1】:

简答:用值 nan 替换“无用”数据,因为 MATLAB 不会绘制 nan 的数据值。

将 nan 值插入矩阵的另一半应该可以解决问题。请参阅下面的示例 - 它很笨重,但应该给出这个想法。我选择乘以 nan,我得到了如图所示的结果,但我想到了六种其他的东西。

% 创建随机数据用于说明 数据 = tril(rand(50)); % 我选择除以一个下三角矩阵(上面的零 % 对角线) 得到对角线上方的 nan 和下方的 nan_above_diag_ones_below = 1./tril(ones(50,50)); % 绘制有无隐藏“无用部分”的数据 数字, 子图(1,2,1),网格(数据),标题('“无用”部分显示') 子图(1,2,2),网格(数据。*nan_above_diag_ones_below), title('"无用"部分隐藏')

【讨论】:

  • 谢谢,但正如你所见,我在 12 月确实奇迹般地得出了这个结果...
  • 不知何故我没有看到。哇!我怎么能忽视这些事情总是让我感到震惊。也许我没有期待任何答案,因为我正在阅读没有答案的问题。 @Barbara,如果你提出你的答案(你甚至可以复制我的,我会投赞成票并把它拿下来。)
猜你喜欢
  • 2014-06-12
  • 2014-05-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多