【问题标题】:plotting 3d bar plot in matlab在matlab中绘制3d条形图
【发布时间】:2011-03-30 04:52:39
【问题描述】:

我在 matlab 中有一个 Nx3 矩阵,我想用它制作一个 3 维条形图,其中 X 和 Y 轴由矩阵的第一列和第二列的值确定,每列的高度bar 是矩阵中的第三列,bar 的数量由 N 决定。

换句话说,如果“数据”是矩阵,那么:

data(:, 1) % values of X-axis
data(:, 2) % values of Y-axis
data(:, 3) % values of each Z-axis bar

每个 1:length(data) 应该有一个条形

如何在 MATLAB 中做到这一点?

其次,作为这个的变体,我怎么能做同样的事情,但是这次将条形图直方图分成每个 X、Y、Z 维度的 N 个 bin? IE。而不是每个点的条形图,只需将数据直方图到每个维度的这些 bin 中,并为每个 bin 绘制一个条形图。

非常感谢您的帮助。

【问题讨论】:

标签: matlab visualization plot scientific-computing


【解决方案1】:

关于您的第一个问题,您可以通过以下方式实现与您的要求类似的内容:

stem3 (data(:,1), data(:,2), data(:,3), 'marker', 'none', 'linewidth',10)

不完全是条,但会产生类似的效果。

要绘制“真实”条形图(例如 bar3 的图),我认为您必须使用低级图形功能,例如 surfacebar3 使用它来绘制条形图) .

关于您的第二个问题,我不确定我是否理解 --- 如果您计算每个维度的直方图,您最终会得到 4 维数据 --- 每个维度的 bin 位置 + 历史计数本身。你到底想画什么?

【讨论】:

  • 有道理——然后我如何标记茎图的 X、Y、Z 轴?另外,你知道如何使用表面制作真正的酒吧吗?我不知道如何表面可以制作酒吧。有这样的例子吗?
  • stem3 图的问题在于它看起来不是 3 维的——条形图只是线条,很难看到数据
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多