繁体   English   中英

在matlab中绘制3d条形图

[英]plotting 3d bar plot in matlab

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

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

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

并且每个1应该有一个条形:长度(数据)

我怎样才能在MATLAB中做到这一点?

其次,作为这个的变体,我怎么能做同样的事情,但是这次将条形直方图分成每个X,Y,Z维度的N个区间? 即,不是每个点的条形,只是将数据直方图编入每个维度的那些箱子,并为每个箱子绘制一个条形。

非常感谢您的帮助。

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

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

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

要绘制'真实'条形图(例如bar3图形),我认为你必须使用低级图形功能,如surfacebar3用于绘制条形图)。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM