【问题标题】:Matlab plot — stem3 color gradient barsMatlab plot — stem3 颜色渐变条
【发布时间】:2017-10-07 16:13:55
【问题描述】:

我正在尝试使用 stem3 在 Matlab 中绘制 3 维茎图。我需要根据 Z 轴的值绘制不同的颜色条。目前我正在使用以下代码:

  [X,Y] = meshgrid(1:1:4096,1:128);
  B1 = cell2mat(arrayfun(@(x)permute(x{:},[2 1]),dnl,'UniformOutput',false));

  stem3(X,Y,rot90(B1),'Marker','none');
  xlabel('Code /w offset');
  ylabel('Column');
  zlabel('DNL');
  title('Surface plot of DNL for 128 columns');

不幸的是,这会产生一个固定的颜色图,这对我的情况来说意义不大。这里:

谁能给我一个提示,告诉我如何根据 Z 轴的值绘制带有颜色渐变的茎条?

【问题讨论】:

  • 用户surf为此
  • 我尝试过冲浪,但我尝试表示的数据最好用单个条形显示,而不是连接数据点作为表面。

标签: matlab plot colors gradient


【解决方案1】:

在您的情况下,我会使用 imagesc 代替(另外您忘记在示例中写 dnl 包含的内容):

[X,Y] = meshgrid(1:1:4096,1:128);
B1 = cell2mat(arrayfun(@(x)permute(x{:},[2 1]),dnl,'UniformOutput',false));
imagesc(X,Y,rot90(B1));
xlabel('Code /w offset');
ylabel('Column');
title('Surface plot of DNL for 128 columns');

希望对你有帮助

【讨论】:

  • dnl 是一个 1x128 的单元格,包含 1x4096 个双精度数组。我是否应该假设 imagesc 会根据其大小产生具有不同数据点颜色的 2D 图像图?
  • @DeyanLevski 假设?你可以试试,不需要假设。此外,此代码仅将 stem3 更改为 imagesc
  • @kronos 感谢您的建议! imagesc 产生精美显示的数据。对于可能从这些想法中受益的其他人:imagesc 需要 X-Y 向量,而不是 stem3 案例中的矩阵。
  • @DeyanLevski,没问题。很高兴它起作用了,另外您可以使用颜色条并获取颜色编码。干杯
猜你喜欢
  • 2021-03-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多