3D渐变柱状图

代码说明

  1. 数据准备

    • 数据可以是任意形式的矩阵,例如 5x7 的矩阵。

    • 行标签 (rowLabels) 和列标签 (colLabels) 是可选的,如果不需要可以删除相关部分。

  2. 颜色定义

    • 使用自定义的蓝黄渐变色 (map)。

    • 如果需要其他颜色,可以替换 map,例如使用 MATLAB 内置的 jetparula 等 colormap。

  3. 绘制三维柱状图

    • 使用 bar3 函数绘制 3D 柱状图。

    • 每个柱子的颜色根据其高度渐变。

  4. 坐标轴调整

    • 设置了行和列的标签(如果提供了 rowLabelscolLabels)。

    • 调整了网格线、刻度和字体样式。

  5. 输出图片

    • 图片保存为 GradientBarPlot.png,分辨率为 300 dpi。

运行代码后,将生成一个 3D 渐变柱状图:

  • X 轴:列标签(Col1Col7)。

  • Y 轴:行标签(Row1Row5)。

  • Z 轴:矩阵中的值。

  • 每个柱子的颜色根据其高度渐变。

  • 代码如下:

Matlab 复制代码
%% 1. 数据准备
% 假设数据是一个任意形式的矩阵
% 例如:5行 x 7列的矩阵
data = [3 5 2 6 8 4 7;
        7 2 6 9 3 5 8;
        4 8 3 7 2 6 9;
        6 1 5 8 4 7 2;
        9 4 7 3 6 2 5];

% 定义行和列的标签(可选)
rowLabels = {'Row1', 'Row2', 'Row3', 'Row4', 'Row5'}; % 行标签
colLabels = {'Col1', 'Col2', 'Col3', 'Col4', 'Col5', 'Col6', 'Col7'}; % 列标签

%% 2. 颜色定义
% 自定义渐变色(蓝黄渐变)
map = [linspace(0,1,300)' linspace(0,0.5,300)' linspace(1,0,300)'];

%% 3. 绘制三维柱状图
figureHandle = figure('Color','w'); % 创建白色背景图形窗口
b = bar3(data, 0.5); % 绘制3D柱状图,0.5控制柱子宽度

% 添加标签
hTitle = title('3D Gradient Bar Plot');
hXLabel = xlabel('Columns');
hYLabel = ylabel('Rows');
hZLabel = zlabel('Values');

%% 4. 颜色渐变设置
for k = 1:length(b)
    zdata = b(k).ZData;        % 获取柱子高度数据
    b(k).CData = zdata;         % 将高度数据映射为颜色数据
    b(k).FaceColor = 'interp';  % 设置渐变填充
end
colormap(map)                   % 应用颜色映射
colorbar                        % 添加颜色标尺

%% 5. 坐标轴调整
set(gca, 'Box', 'off',...                          % 关闭边框
        'LineWidth', 1,...                         % 坐标轴线宽
        'GridLineStyle', '-',...                   % 网格线型
        'XGrid', 'off', 'YGrid', 'off','ZGrid', 'on',... % 显示Z轴网格
        'TickDir', 'out',...                       % 刻度朝外
        'TickLength', [.015 .015],...              % 刻度长度
        'XColor', [.1 .1 .1],...                  % 坐标轴颜色
        'YColor', [.1 .1 .1],...
        'ZColor', [.1 .1 .1],...
        'XTickLabel', colLabels,...                % 设置列标签
        'YTickLabel', rowLabels,...                % 设置行标签
        'FontSize', 10);                          % 坐标轴字号

% 调整视角
view(-45, 30) % 设置3D视图角度

%% 6. 字体设置
set([hXLabel, hYLabel, hZLabel],...
    'FontSize', 12, 'FontWeight', 'bold',...
    'FontName', 'Arial');
set(hTitle, 'FontSize', 14, 'FontWeight', 'bold');

%% 7. 图片输出
print(figureHandle, 'GradientBarPlot.png', '-r300', '-dpng');
disp('图片已保存为GradientBarPlot.png');
相关推荐
majorArcs2 小时前
MATLAB 绘制论文级双重饼图:2024 高教社杯 C 题实战
matlab
杀生丸学AI5 小时前
【三维重建】QuerySplat:在 3DGS 预测中解耦几何与外观表征
人工智能·3d·三维重建·扩散模型·高斯泼溅·空间智能·室内重建
@HNUSTer20 小时前
Python数据可视化科技图表绘制系列教程(八)
python·数据可视化·科技论文·专业制图·科研图表
杀生丸学AI1 天前
【世界模型】Lyra 2.0:可探索的生成式3D世界(NVIDIA)
人工智能·深度学习·3d·数据挖掘·transformer·世界模型·高斯泼溅
毕安格 - BimAngle1 天前
国家电网 GIM 格式模型一键输出 3D Tiles (for Cesium) 和 glTF/glb 更新时间:2026-08-18
3d·gis·cesium·gltf·glb·3d tiles·gim
慧都小妮子2 天前
前端实现复杂公式计算:SpreadJS 在京东物流 Udata 平台的落地实践
javascript·数据分析·excel·数据可视化·spreadjs·前端表格控件
Evand J2 天前
【MATLAB例程,车联网7】CACC网联车辆协同控制:ACC对比、V2X时延丢包与队列稳定性,附例程下载链接
开发语言·matlab·车联网
kaixin_啊啊2 天前
香精近红外总体步骤概览
人工智能·matlab·近红外
Highcharts2 天前
如何选择正确的图表:驱动理解和洞察力的三部分框架(第3部分)
前端·数据可视化
Highcharts2 天前
全功能施工项目管理甘特图 Demo:任务依赖箭头、当前日期标线、周末高亮、分组项目可视化
html·数据可视化