进阶版MATLAB 3D柱状图

news/2025/2/15 15:40:12/
%% 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. 颜色定义
% 十六进制颜色转换为RGB格式
colorsHex = {'#94c1b6', % 第一种颜色'#6b969a', % 第二种颜色'#dcc672', % 第三种颜色'#e0ba19', % 第四种颜色'#C69519', % 第五种颜色
};% 将十六进制颜色转换为RGB
colorsRGB = cellfun(@(c) hex2rgb(c), colorsHex, 'UniformOutput', false);
colorsRGB = vertcat(colorsRGB{:});% 创建一个渐变色
nPoints = 300;  % 渐变色的点数
map = zeros(nPoints, 3);  % 初始化渐变色矩阵for i = 1:3map(:,i) = linspace(colorsRGB(1,i), colorsRGB(end,i), nPoints);  % 对每个颜色通道进行插值
end% 显示渐变色条
figure;
imshow(repmat(map, [1, 10, 1]));
title('渐变色条');%% 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');

将十六进制颜色转换为 RGB 格式

给出的颜色是:

  • #94c1b6
  • #6b969a
  • #dcc672
  • #e0ba19
  • #C69519

我们将它们转换为 RGB 格式。然后,我们可以使用线性插值创建一个渐变色。

3d4ac594027a849a1f0f82083d6.png" />


http://www.ppmy.cn/news/1572276.html

相关文章

强化 CSS 样式优先级的多种方法

一、CSS样式优先级的基础规则 在 CSS 中,优先级的计算主要依赖于选择器的权重。权重越高,优先级越高。 CSS 选择器的权重计算规则 CSS 选择器的权重由以下部分组成: 1. 行内样式:style"...",权重为 1000。…

Azure从0到1

我能用Azure做什么? Azure提供100多种服务,能够从在虚拟机上运行现有应用程序到探索新的软件范式,如智能机器人和混合现实。许多团队开始通过将现有应用程序移动到在Azure中运行的虚拟机(VM)来探索云。将现有应用程序迁移到虚拟机是一个良好的开端,但云不仅仅是运行虚拟…

后台管理系统前端搭建

版本 node:v20.11.1pnpm:10.2.1vue: 3.5.13vite: 创建git仓库 以下是在gitee创建了“admin-template” https://gitee.com/gzcltech/admin-template初始化项目 pnpm create vuelatest选择如下 4. clone模板 git clone https://gitee.com/kailong1101…

【BUG】conda虚拟环境下,pip install安装直接到全局python目录中

问题描述 conda虚拟环境下,有的虚拟环境的python不能使用(which python时直接使用全局路径下的python),且pip install也会安装到全局路径中,无法安装到conda虚拟环境中。 解决方案 查看虚拟环境的PIP缓存默认路径&…

微信小程序实战项目001:NBA球队太阳队简介

文章目录 1、效果预览2、项目起步3、首页开发4、球队页面开发5、球员页面开发6、球员详细信息页面开发7、完整项目下载1、效果预览 首页: 球队: 球员: 球员详细信息: 2、项目起步 不同版本的HBuilderX可能方式略微不同,且生成的默认文件也不同,这里的HBuilderX版本是2…

DeepSeek-VL2 环境配置与使用指南

DeepSeek-VL2 环境配置与使用指南 DeepSeek-VL2 是由 DeepSeek 公司开发的一种高性能视觉-语言模型(VLM)。它是 DeepSeek 系列多模态模型中的一个版本,专注于提升图像和文本之间的交互能力。 本文将详细介绍如何配置 DeepSeek-VL2 的运行环…

LeetCode 热门100题-和为 K 的子数组

题目描述: 给你一个整数数组 nums 和一个整数 k ,请你统计并返回 该数组中和为 k 的子数组的个数 。 子数组是数组中元素的连续非空序列。 示例 1: 输入:nums [1,1,1], k 2 输出:2 class Solution { public:int…

1、Prometheus 监控系统(上)

Prometheus 监控系统(上) 认识一下 PrometheusPrometheus 的特点Prometheus 的生态组件Prometheus 的工作模式Prometheus 的工作流程Prometheus 的局限性: 部署 PrometheusPrometheust Server 端安装和相关配置部署 Exporters部署 Node Expor…