网站后台登陆密码,用.net做购物网站,php建设图书网站代码,怎么把自己做的网站让外网访问在数据可视化中#xff0c;三维散点图是一种非常直观的方式来展示数据的分布。MATLAB 提供了强大的 scatter3 函数#xff0c;可以用来绘制三维散点图#xff0c;而通过调整点的颜色和大小#xff0c;可以进一步增强图形的表现力。
在本篇博客中#xff0c;我们将逐步讲解…在数据可视化中三维散点图是一种非常直观的方式来展示数据的分布。MATLAB 提供了强大的 scatter3 函数可以用来绘制三维散点图而通过调整点的颜色和大小可以进一步增强图形的表现力。
在本篇博客中我们将逐步讲解如何使用 MATLAB 读取 Excel 文件中的数据并绘制四个子图。每个子图中的点的颜色和大小将根据 X、Y、Z 坐标值及其离原点的距离进行映射。让我们一起动手实现这个可视化效果吧 步骤 1导入数据
假设我们有一个名为 data.xlsx 的 Excel 文件其中包含三列数据X 坐标、Y 坐标和 Z 坐标。这些数据将作为绘图的基础。我们首先使用 MATLAB 的 readtable 函数来导入 Excel 文件中的数据。
步骤 2计算点的大小
为了使每个点的大小与数据的某些特征相关联我们可以根据坐标的值或者离原点的距离来调整点的大小。例如可以将 X、Y、Z 的值映射到点的大小或者根据每个点到原点的距离来调整大小。
步骤 3设置颜色映射
MATLAB 的 scatter3 函数允许我们根据数据的值映射点的颜色。在本例中我们将使用 cool 渐变色来表示不同的数值。cool 渐变色是一种从蓝色到粉色的渐变色非常适合这种数据映射。
我们可以通过 scatter3 函数的第二个参数来指定每个点的颜色颜色将根据不同的坐标或距离值进行映射。
步骤 4绘制图形
接下来我们将绘制四个子图每个子图展示不同的映射方式。我们使用 subplot 函数将一个图形窗口分成四个子图。
子图 1点的颜色根据 X 坐标值映射点的大小也根据 X 坐标值进行调整。子图 2点的颜色根据 Y 坐标值映射点的大小根据 Y 坐标值进行调整。子图 3点的颜色根据 Z 坐标值映射点的大小根据 Z 坐标值进行调整。子图 4点的颜色根据离原点的距离映射点的大小也根据距离进行调整。
步骤 5保存图像
在图形完成后我们可以使用 print 函数将其保存为一个高分辨率的 JPEG 文件
代码
clc;
clear;
close all; %% 导入数据
data readtable(data.xlsx); % 读取 Excel 文件
X data.X; % X 坐标
Y data.Y; % Y 坐标
Z data.Z; % Z 坐标%% 计算距离原点的距离
distance sqrt(X.^2 Y.^2 Z.^2); % 计算每个点与原点的距离%% 计算点的大小可以根据实际需要进行缩放调整
k200;
sizeX X / max(X) * k; % 根据 X 坐标映射大小
sizeY Y / max(Y) * k; % 根据 Y 坐标映射大小
sizeZ Z / max(Z) * k; % 根据 Z 坐标映射大小
sizeDistance distance / max(distance) * k; % 根据距离映射大小%% 颜色渐变设置
colormap(cool); % 使用 cool 渐变色%% 绘制图形% 子图 1: 根据 X 映射颜色和大小
ax1 subplot(221);
scatter3(X, Y, Z, sizeX, X, filled); % 点的大小根据 X 坐标颜色根据 X 坐标变化
colormap(ax1, cool); % 使用 cool 渐变色
colorbar; % 显示颜色条
xlabel(X, Fontname, 微软雅黑);
ylabel(Y, Fontname, 微软雅黑);
zlabel(Z, Fontname, 微软雅黑);
title(根据 X 坐标映射颜色和大小, Fontname, 微软雅黑);% 子图 2: 根据 Y 映射颜色和大小
ax2 subplot(222);
scatter3(X, Y, Z, sizeY, Y, filled); % 点的大小根据 Y 坐标颜色根据 Y 坐标变化
colormap(ax2, cool);
colorbar;
xlabel(X, Fontname, 微软雅黑);
ylabel(Y, Fontname, 微软雅黑);
zlabel(Z, Fontname, 微软雅黑);
title(根据 Y 坐标映射颜色和大小, Fontname, 微软雅黑);% 子图 3: 根据 Z 映射颜色和大小
ax3 subplot(223);
scatter3(X, Y, Z, sizeZ, Z, filled); % 点的大小根据 Z 坐标颜色根据 Z 坐标变化
colormap(ax3, cool);
colorbar;
xlabel(X, Fontname, 微软雅黑);
ylabel(Y, Fontname, 微软雅黑);
zlabel(Z, Fontname, 微软雅黑);
title(根据 Z 坐标映射颜色和大小, Fontname, 微软雅黑);% 子图 4: 根据离原点的距离映射颜色和大小
ax4 subplot(224);
scatter3(X, Y, Z, sizeDistance, distance, filled); % 点的大小根据离原点的距离颜色也根据距离变化
colormap(ax4, cool);
colorbar;
xlabel(X, Fontname, 微软雅黑);
ylabel(Y, Fontname, 微软雅黑);
zlabel(Z, Fontname, 微软雅黑);
title(根据离原点的距离映射颜色和大小, Fontname, 微软雅黑);%% 保存图像
print(gcf, scatter_plot_output_with_size.jpg, -djpeg, -r900);