matlab三维柱状图bar3画出来总不尽如人意,尤其遇到横纵坐标间隔大小不一致的情况。前段时间看到Mickey Stahl的scatterbar3函数,受此启发,在原程序上进行了小修改。

选取的x和y分为[20:10:300]和[1:1:10]。两个坐标轴跨度较大。

处理后的图片如下:

图中柱子的大小可以通过参数调节

代码如下(交流侵删):

x=[20:10:300];%横轴
y=[1:1:10];%纵轴
%P1是要画的数据
T=[];
for i=1:length(x)
    for j=1:length(y)
        XY=[x(i) y(j) P(i,j)];
        T=[T;XY];
    end
end
 figure;scatterbar3(T(:,1),T(:,2),T(:,3),5,0.3)   %“5”是横轴柱宽,“0.3”是纵轴柱宽
 view(45,45)
 
 
 function scatterbar3(X,Y,Z,width,length)

% By Mickey Stahl - 2/25/02
% Engineering Development Group
% Aspiring Developer
% By Lyu-11/7/22

[r,c]=size(Z);
for j=1:r,
    for k=1:c,
        if ~isnan(Z(j,k))
            drawbar(X(j,k),Y(j,k),Z(j,k),width/2,length/2)
        end
    end
end

zlim=[min(Z(:)) max(Z(:))];
if zlim(1)>0,zlim(1)=0;end
if zlim(2)<0,zlim(2)=0;end
axis([min(X(:))-width max(X(:))+width min(Y(:))-length max(Y(:))+length zlim])
caxis([min(Z(:)) max(Z(:))])
view(3)
 end

function drawbar(x,y,z,width,length)

h(1)=patch([-width -width width width]+x,[-length length length -length]+y,[0 0 0 0],'b');
h(2)=patch(width.*[-1 -1 1 1]+x,length.*[-1 -1 -1 -1]+y,z.*[0 1 1 0],'b');
h(3)=patch(width.*[-1 -1 -1 -1]+x,length.*[-1 -1 1 1]+y,z.*[0 1 1 0],'b');
h(4)=patch([-width -width width width]+x,[-length length length -length]+y,[z z z z],'b');
h(5)=patch(width.*[-1 -1 1 1]+x,length.*[1 1 1 1]+y,z.*[0 1 1 0],'b');
h(6)=patch(width.*[1 1 1 1]+x,length.*[-1 -1 1 1]+y,z.*[0 1 1 0],'b');
set(h,'facecolor','flat','FaceVertexCData',z)
end

MATLAB-三维柱状图相关推荐

  1. 记录一下matlab三维柱状图调色详细步骤

    matlab五彩三维柱形图绘制_小乖乖的臭坏坏-CSDN博客_matlab绘制三维柱状图 按照上面的方法画出图形 想要让它变成多种颜色的而且随着数值变化 记录一下详细步骤: 1,打开原视图 2,打开的 ...

  2. Matlab论文插图绘制模板—三维柱状图(高度赋色)

    上一篇文章中,分享了一个Matlab三维柱状图的绘制模板. 仔细观察可以看到,它的每一列用的是同一个颜色. 那么,如果想要根据每一根柱子的高度,赋予不同的颜色,应该怎么操作呢? 话不多说,来看一下成品 ...

  3. Matlab论文插图绘制模板—三维柱状图

    前几篇文章中,分享了很多Matlab二维柱状图的绘制模板. 那么这次再来分享一下三维柱状图的绘制模板. 先来看一下成品效果: 特别提示:Matlab论文插图绘制模板系列,旨在降低大家使用Matlab进 ...

  4. Matlab论文插图绘制模板—三维柱状图(渐变)

    前两篇文章中,分享了Matlab三维柱状图的绘制模板: 柱高渲染的三维柱状图的绘制模板: 这次再来分享一下渐变渲染的三维柱状图的绘制模板. 先来看一下成品效果: 特别提示:Matlab论文插图绘制模板 ...

  5. Matlab论文插图绘制模板第62期—水平三维柱状图(Bar3h)

    在之前的文章中,分享了Matlab三维柱状图的绘制模板: 这次再来分享一下水平三维柱状图的绘制模板. 先来看一下成品效果: 特别提示:Matlab论文插图绘制模板系列,旨在降低大家使用Matlab进行 ...

  6. matlab绘制三维柱状图(hist3,bar3)

    N = 1e3; % number of points rng(7) signalIn = rand(N, 2)*30; signalIn(1:10,:) = 5.5; % 密集 signalIn(5 ...

  7. matlab 图案 柱状图_值得收藏 | 如何用matlab做出酷炫的图像

    1.基础知识 1.1 二维图形绘制 plot函数是Matlab绘制二维图形的常用函数,该函数将数组中的数据点绘连起来构成一条连续的曲线. plot(x,y,'PropertyName',Propert ...

  8. python使用matplotlib可视化3D柱状图(3D histogram、三维柱状图、包含三个坐标轴x、y、z)、设置zdir参数为z、改变3d图观察的角度

    python使用matplotlib可视化3D柱状图(3D histogram.三维柱状图.包含三个坐标轴x.y.z).设置zdir参数为z.改变3d图观察的角度 目录

  9. python使用matplotlib可视化3D柱状图(3D bar plot、三维柱状图、包含三个坐标轴x、y、z)、设置zdir参数为y、改变3d图观察的角度

    python使用matplotlib可视化3D柱状图(3D bar plot.三维柱状图.包含三个坐标轴x.y.z).设置zdir参数为y.改变3d图观察的角度 目录

  10. Silverlight三维柱状图3D饼图的Silverlight图表组件案例

    Silverlight三维柱状图3D饼图的Silverlight图表组件案例 开发环境:Visual Studio 2010 Silverlight 4 SQL2005 Silverlight开发的3 ...

最新文章

  1. 英国激进新冠试验曝光:招募健康志愿者,故意感染病毒,每人补偿3万5
  2. 服务器端口进程未响应,Tomcat正在运行,但8080端口未响应
  3. Docker的应用场景
  4. Varnish——CDN推送平台(web页面批量清除缓存)
  5. Perl的特殊变量汇总
  6. [ubuntu] ubuntu20.04 卸载 firefox 下载 chrome
  7. 【数据结构笔记03】算法实例:最大子列和
  8. 很恶心的一个关于字符串的题目!
  9. python3.7如何使用enum_python3 enum模块
  10. 百度地图与 select下拉框的双向维护
  11. 如何检测手机号名字男女
  12. **关于小程序测试版本自己的头像与数据不显示问题**
  13. opencv学习笔记(三)颜色转换 cvtColor
  14. 游戏任务系统设计思路
  15. 《GPU编程与CG语言之阳春白雪下里巴人》 读书笔记1
  16. 不想失业?你得学会为自己工作
  17. 海量CAD图纸哪里获取呢?
  18. 数据分析面试:Excel必考知识点!
  19. SpringBoot配置文件yml读取注意问题
  20. ionic capacitor 输入框获取焦点后隐藏键盘

热门文章

  1. Type 和 class 的区别
  2. Unicode、UTF-8、UTF-16,终于懂了
  3. 不小心删除了ubuntu的内核,进不去系统和Biss,解决办法。
  4. 煤气检测与报警程序C语言,基于单片机的煤气检测报警系统毕业设计.doc
  5. 如何消除应急吸顶灯(楼道灯)的报警长鸣声
  6. 生物医学数据统计分析-相关性分析
  7. 软路由系统, OpenWrt (Lede), Ubuntu server, 爱快, ROS, Pfsense, m0n0wall, OPNsense
  8. Java中split的用法,分割String字符串
  9. 数组,向量和矩阵以及空间的维数
  10. 360度全景标定方法_一种用于360°全景泊车辅助系统的标定布及标定场地_2015209958302_说明书_专利查询_专利网_钻瓜专利网...