matlab 绘图

1.三维绘图

Matlab 复制代码
% 原始数据(按行输入:x y z)
data = [
    1   2    3 ;
    5  56  234 ;
    32 34   67 
    1 2 5
];

% 提取坐标并生成网格(适用于surf函数的网格格式)
x = data(:,1);  % X坐标(行数对应Y轴)
y = data(:,2);  % Y坐标(行数对应Y轴)
z = data(:,3);  % Z值(需转换为矩阵形式)

% 转换为网格数据(假设X和Y为离散点,生成3x1网格)
[X, Y] = meshgrid(x, y);  % 生成2D网格坐标
Z = reshape(repmat(z,size(X,1),1),size(X,1),size(X,1));%3行1列;  % 重塑Z为3x3矩阵

% 创建3D曲面图
figure('Color', 'white', 'Position', [100 100 600 500])
surf(X, Y, Z, 'EdgeColor', 'none')  % 隐藏网格线
hold on

contour3(Z)
% 数据点标注(显示原始数据值)
for i = 1:3
    for j = 1:3
        text(X(i,j), Y(i,j), Z(i,j)+5, num2str(Z(i,j)), ...
             'HorizontalAlignment', 'center', 'FontSize', 10)
    end
end

% 图形美化
view(30, 20)  % 调整视角
colorbar('Location', 'eastoutside', 'Ticks', unique(Z(:)))  % 颜色条
xlabel('X 坐标', 'FontSize', 12)
ylabel('Y 坐标', 'FontSize', 12)
zlabel('Z 高度', 'FontSize', 12)
title('三维曲面图(含数据标注)', 'FontSize', 14, 'FontWeight', 'bold')
grid on  % 显示网格
lighting gouraud  % 平滑光照
colormap(parula)  % 颜色映射(更适合数据可视化)

% 数据验证(确保格式正确)
disp('原始数据矩阵:'); disp(data)
disp('转换后的网格尺寸:'); disp(size(Z))
相关推荐
炸膛坦客19 分钟前
单片机/C/C++八股:(十九)栈和堆的区别?
c语言·开发语言·c++
零雲21 分钟前
java面试:了解抽象类与接口么?讲一讲它们的区别
java·开发语言·面试
Jay_Franklin37 分钟前
Quarto与Python集成使用
开发语言·python·markdown
2401_831824961 小时前
代码性能剖析工具
开发语言·c++·算法
是wzoi的一名用户啊~1 小时前
【C++小游戏】2048
开发语言·c++
Sunshine for you2 小时前
C++中的职责链模式实战
开发语言·c++·算法
@我漫长的孤独流浪2 小时前
Python编程核心知识点速览
开发语言·数据库·python
qq_416018722 小时前
C++中的状态模式
开发语言·c++·算法
2401_884563242 小时前
模板代码生成工具
开发语言·c++·算法
code 小楊2 小时前
yrb 1.5.0 正式发布:Python 极简国内下载加速与全景可视化终端体验!
开发语言·python