3D渐变柱状图

代码说明

  1. 数据准备

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

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

  2. 颜色定义

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

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

  3. 绘制三维柱状图

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

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

  4. 坐标轴调整

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

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

  5. 输出图片

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

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

  • X 轴:列标签(Col1 到 Col7)。

  • Y 轴:行标签(Row1 到 Row5)。

  • Z 轴:矩阵中的值。

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

  • 代码如下:

%% 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');

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/969900.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

完美解决 error:0308010C:digital envelope routines::unsupported

查看专栏目录 Network 灰鸽宝典专栏主要关注服务器的配置,前后端开发环境的配置,编辑器的配置,网络服务的配置,网络命令的应用与配置,windows常见问题的解决等。 文章目录 windows电脑完美解决办法:设置说明…

Xilinx kintex-7系列 FPGA支持PCIe 3.0 吗?

Xilinx kintex-7系列资源如下图 Xilinx各系列的GT资源类型和性能 PCIe Gen1/2/3的传输速率对比 K7上面使用的高速收发器GTX最高速率为12.5GT/s, PCIe Gen2 每个通道的传输速率为 5 GT/s。 PCIe Gen3 每个通道的传输速率为 8 GT/s。 所以理论上硬件支持PCIe3.0&#…

支持列表拖拽嵌套,AI流式输出的多模态文档编辑器flowmix/docx: 全面升级

hi, 大家好, 我是徐小夕. 马上又到周五了, 最近也收到很多用户对 flowmix/docx 多模态文档编辑器的反馈,我们也做了一波新功能的升级,今天就和大家分享一下 flowmix/docx 多模态文档编辑器的最新更新. 演示地址: https://flowmix.turntip.cn/docx 以下是…

Mysql中使用sql语句生成雪花算法Id

🍓 简介:java系列技术分享(👉持续更新中…🔥) 🍓 初衷:一起学习、一起进步、坚持不懈 🍓 如果文章内容有误与您的想法不一致,欢迎大家在评论区指正🙏 🍓 希望这篇文章对你有所帮助,欢…

聊聊 IP 地址和端口号的区别

在计算机网络中,两个基本概念对于理解设备如何通过网络进行通信至关重要。IP 地址和端口号是 TCP/IP 的典型特征,其定义如下:IP 地址是分配给连接到网络的每台机器的唯一地址,用于定位机器并与其通信。相反,端口号用于…

【线性代数】1行列式

1. 行列式的概念 行列式的符号表示: 行列式的计算结果:一个数 计算模型1:二阶行列式 二阶行列式: 三阶行列式: n阶行列式: 🍎计算行列式 计算模型2:上三角形行列式 上三角形行列式特征:主对角线下皆为0。 上三角形行列式: 化上三角形通用方法:主对角线下,…

问界M8细节曝光,L3自动驾驶有了!

文 | AUTO芯球 作者 | 雷慢 太惊喜了, 问界M8近距离实拍曝光了, 我看了一圈, 给大家扒出几个炸裂的信息, 注意看侧身这一堆传感器, 这可不是什么普通摄像头, 这一片传感器和和尊界S800那套一模一样&a…

支付宝 IoT 设备入门宝典(上)设备管理篇

相信不少朋友最近都被支付宝“碰一下”广告刷屏,“不用打开 APP 支付就碰一下”几个字一出简直自带BGM……其实“碰一下”就是支付宝 IoT 设备的一种,趁着热度还在,我会分为设备管理和设备经营上下两篇,简单介绍一下支付宝 IoT&am…

【Linux网络-网络基础】计算机网络背景+协议+OSI七层模型

一、计算机网络背景 网络相关概念 1.什么是网络? 网络是一种由多个节点(如计算机、手机或其他电子设备)通过通信线路或无线信号连接而成的系统。在网络中,信息可以通过这些节点进行传输和交换 2.独立模式 独立模式&#xff1…

VisionPro 划痕检测小练习

划痕检测,我这里用到的是Sobel算子和blob斑点匹配以及blob里面的形态学调整 Sobel 是一种在数字图像处理和计算机视觉领域广泛应用的算法,主要用于边缘检测 脚本展示 #region namespace imports using System; using System.Collections; using System.Drawing; …

盛铂科技 SMF106 低相位噪声贴片式频率综合器模块

在现代通信和电子设备领域,频率综合器作为关键组件,其性能优劣直接影响系统的整体表现。盛铂科技的 SMF106 低相位噪声贴片式频率综合器,以其卓越的性能和独特设计,成为众多高性能系统的选择。 一、频率覆盖范围广,步进…

DeepSeek 遭 DDoS 攻击背后:DDoS 攻击的 “千层套路” 与安全防御 “金钟罩”_deepseek ddos

当算力博弈升级为网络战争:拆解DDoS攻击背后的技术攻防战——从DeepSeek遇袭看全球网络安全新趋势 在数字化浪潮席卷全球的当下,网络已然成为人类社会运转的关键基础设施,深刻融入经济、生活、政务等各个领域。从金融交易的实时清算&#xf…

DeepSeek如何重塑我的编程学习:计算机新生的AI实践

目录 🚀前言🌟邂逅DeepSeek:从困惑到惊喜💯初学编程的困境💯DeepSeek的优势 🖊️DeepSeek在编程学习中的运用💯注释💯算法逐步分析💯调试帮助💯跨语言迁移学习…

内网穿透简单使用

简介 简单概括,通过【内网穿透软件】将内网与外网通过隧道打通,外网可以读取内网中的数据。 在这里推荐2个免费的内网穿透服务,分别是: cpolar:https://www.cpolar.com/natapp:https://natapp.cn/ 这里以cpolar为例,…

CentOS搭建PPPOE服务器

一、安装软件包 yum -y install rp-pppoe 二、配置服务器 1.修改配置文件 打开/etc/ppp/pppoe-server-options文件 nano /etc/ppp/pppoe-server-options 编辑为以下内容: # PPP options for the PPPoE server # LIC: GPL require-pap require-chap login …

C语言之easyX

目录 概要 easyX整体架构 图形绘制 画布宽高 圆形 图片的贴图 加载图像 游戏框架 概要 easyX是一个轻量级的图形库,用于在Windows平台上进行简单的2D图形绘制。它提供了一组简单易用的函数,可以方便地绘制基本的图形元素,如线条、矩形、圆形…

通过docker启用rabbitmq插件

创建文件,docker-compose.yml services:rabbitmq:image: rabbitmq:4.0-managementports:- "5672:5672"- "15672:15672"volumes:- ./data/rabbitmq/data:/var/lib/rabbitmq # 持久化数据- ./data/rabbitmq/plugins/rabbitmq_delayed_message_ex…

PMP--冲刺--流程图

文章目录 变更易混点:是否需要向CCB提交正式书面变更请求 质量规划风险应对 采购管理决策流程问题处理流程日志更新问题 敏捷 变更 易混点:是否需要向CCB提交正式书面变更请求 第一步:知道:项目预算成本基准应急储备;…

2025Java面试题超详细整理《微服务篇》

什么是微服务架构? 微服务框架是将某个应用程序开发划分为许多独立小型服务,实现敏捷开发和部署,这些服务一般围绕业务规则进行构建,可以用不同的语言开发,使用不同的数据存储,最终使得每个服务运行在自己…

3. 导入官方dashboard

官方dashboard:https://grafana.com/grafana/dashboards 1. 点击仪表板 - 新建 - 导入 注:有网络的情况想可以使用ID,无网络情况下使用仪表板josn文件 2. 在官方dashboard网页上选择符合你现在数据源的dashboard - 点击进入 3. 下拉网页选…