适合开学装B的超美Matlab可视化(水墨风,千里江山图)
代码功能:
1.导入数据(200*200的xlsx文件,数据范围在0-1)
2.多样性图片(可选择开启)
3.数据处理
4.绘图,其中颜色有两种(选一种开启):
(1)渐变风格:可自行替换色条
(2)水墨风格
5.色条注释
代码如下:
clc;
clear;
close all;
data = readmatrix('data.xlsx'); % 读取200x200的 Excel 文件
%增加图片多样性
%将第 50 到 100 行,第 50 到 100 列的子矩阵替换为随机数据
data(50:100, 50:100) = rand(51, 51); % 生成 51x51 的随机矩阵,并替换指定区域
a = 200;
b = (.5:a)' / a;
c = (-cos(b * 2 * pi) + 1) .^ 0.2;
d = ones(a);
f = b - 0.5;
r = f'.^2 + f.^2;
m = 50;
% 绘制主图像
surf(b, b', abs(ifftn(exp(7i * data) ./ r .^ 0.9)) .* (c * c') * 30)
I = (m:-1:1) / m;
hold on
% 迭代绘制多层表面图
for n = 1:m
surf(b, b', d * n, d + cat(3, 1, 1, 1), 'EdgeColor', 'none', 'FaceAlpha', max(0.2, I(n)));
end
% 设置图像参数
zlim([-a/2, a])
shading flat
% 修改颜色
%(1)渐变风格
%colormap("sky")
%(2)水墨风格
colormap(flip([b,b,b]))
camva(5)
axis off
%常见的 MATLAB 内置渐变色彩方案:
%parula(默认配色):从蓝色到黄色的平滑渐变,是 MATLAB 的默认配色。
%jet:从蓝色到红色的多彩渐变,常用于热力图。
%hsv:代表色相、饱和度和亮度的色彩模型,显示完整的颜色光谱。
%hot:从黑色到红色,再到黄色和白色的渐变,模拟热度的变化。
%cool:从青色到紫色的冷色调渐变。
%spring:从粉色到黄色的渐变。
%summer:从绿色到黄色的渐变,类似夏季色调。
%autumn:从红色到黄色的渐变,类似秋天的色调。
%winter:从蓝色到绿色的冷色调渐变。
%gray:从黑色到白色的灰度渐变。
%bone:带有淡蓝色的灰度渐变,适合显示二维灰度图像。
%copper:铜色的渐变,适合显示灰度图像。
%pink:带有较淡粉色的灰度渐变。
%lines:为线条图提供颜色。
%colorcube:适合区分不同的离散颜色。
%prism:鲜艳的循环色彩方案。
%flag:交替的红、白、蓝、黑的颜色条纹。
%turbo:一个新型的色彩映射方案,旨在避免 jet 的不足。
运行结果如下: