问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

在MATLAB中绘制带有基于距离的点大小和颜色的散点图

创作时间:
作者:
@小白创作中心

在MATLAB中绘制带有基于距离的点大小和颜色的散点图

引用
CSDN
1.
https://m.blog.csdn.net/subject625Ruben/article/details/144365638

本文将详细介绍如何使用MATLAB从Excel文件中导入数据,创建散点图,并根据每个数据点离原点的距离来调整点的大小和颜色。最后,我们还将优化图形样式,以便符合SCI论文的标准。

步骤 1:准备数据

首先,我们需要准备数据并将其导入MATLAB。假设我们有一个名为excel.xlsx的Excel文件,第一列包含x坐标,第二列包含y坐标。

步骤 2:导入数据

MATLAB提供了一个非常方便的函数readtable,用于从Excel文件中读取数据。我们可以通过以下代码导入我们的数据:

步骤 3:计算每个点离原点的距离

为了根据距离调整点的大小和颜色,我们需要计算每个数据点离原点的距离。这个步骤是通过简单的欧几里得距离公式完成的。

步骤 4:调整点的大小和颜色

接下来,我们将根据计算出的距离来调整点的大小和颜色。我们希望距离越近的点越大,颜色越深。我们使用以下代码来设置这些属性。

步骤 5:优化图形样式

为了使图形符合SCI论文的标准,我们需要对图形的字体、轴标签以及标题进行优化。我们还将调整图形的大小,使其适合高质量出版。

步骤 6:结果展示

运行上述代码后,你将得到一个散点图,其中每个点的大小和颜色都根据它离原点的距离进行了调整。这个图表已经过优化,适合直接用于SCI论文或其他学术场合。

% 导入数据
data = readtable('data1.xlsx');  % 读取Excel文件
% 提取x和y坐标
x = data{:, 1};
y = data{:, 2};
% 计算每个点离原点的距离
distances = sqrt(x.^2 + y.^2);
% 根据距离调整点的大小
size_factor = 200 * (1 ./ (distances + 0.1));  % 点的大小,距离越小,越大
% 创建散点图
figure;
scatter(x, y, size_factor, distances, 'filled');  % 使用distances来映射颜色
% 使用cool配色
colormap('cool');
colorbar;  % 显示颜色条
% 设置图形属性,优化为SCI论文风格
set(gca, 'FontSize', 12, 'FontName', 'Times New Roman');  % 字体设置
xlabel('X Coordinate', 'FontSize', 14, 'FontName', 'Times New Roman');
ylabel('Y Coordinate', 'FontSize', 14, 'FontName', 'Times New Roman');
title('Scatter Plot with Distance-based Size and Color', 'FontSize', 16, 'FontName', 'Times New Roman');
% 调整图形大小
set(gcf, 'Position', [100, 100, 600, 500]);
% 保存为高质量图片
saveas(gcf, 'scatter_plot.png', 'png');
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号