Matlab数据可视化:拟合曲线与R值标注
Matlab数据可视化:拟合曲线与R值标注
本文介绍如何在Matlab中绘制散点图,并添加拟合曲线、标注拟合方程和R值,以增强数据可视化效果。
代码示例:
clear;
data1 = xlsread('C:\Users\魏一铭\Desktop\5-7wsdbs.xlsx');
obs_temp2a = data1(2:1105, 5);
era5_temp2a = data1(2:1105, 6);
figure;
p = polyfit(obs_temp2a, era5_temp2a, 1);
a = p(1);
b = p(2);
Y = @(x) a*x + b;
fplot(Y, [0, 30], 'r', 'LineWidth', 1);
hold on
R1 = corrcoef(obs_temp2a, era5_temp2a);
R = R1(1, 2);
scatter(obs_temp2a, era5_temp2a, 'o', 'SizeData', 5, 'MarkerEdgeColor', [0 25 255]./255, 'MarkerFaceColor', [0 25 255]./255);
xlabel('Windcube 100S Lidar WS (m·s^{-1})', 'FontSize', 18, 'FontWeight', 'normal', 'FontName', 'Times New Roman');
ylabel('ERA5 WS (m·s^{-1})', 'FontSize', 18, 'FontWeight', 'normal', 'FontName', 'Times New Roman');
title('50m wind speed', 'FontSize', 18, 'FontWeight', 'normal', 'FontName', 'Times New Roman');
set(gca, 'LineWidth', 2, 'FontSize', 18, 'FontWeight', 'normal', 'FontName', 'Times New Roman');
hold on;
line([0, 30], [0, 30], 'LineWidth', 0.5, 'LineStyle', '--', 'Color', 'r'); % 1:1线
% 在图中添加文本标注
eqn = sprintf('y = %.2fx + %.2f', a, b);
r_value = sprintf('R = %.2f', R);
text(5, 25, eqn, 'FontSize', 12);
text(5, 20, r_value, 'FontSize', 12);
box on;
代码解析:
- 数据加载与准备: 使用
xlsread函数加载数据,提取需要分析的变量obs_temp2a和era5_temp2a。 - 拟合曲线: 使用
polyfit函数进行线性拟合,得到拟合系数a和b,并定义匿名函数Y表示拟合曲线。 - 绘制散点图: 使用
scatter函数绘制散点图,并设置标记样式、颜色等属性。 - 添加拟合曲线: 使用
fplot函数绘制拟合曲线,并设置线型、颜色等属性。 - 计算R值: 使用
corrcoef函数计算相关系数矩阵,并提取 R 值。 - 标注拟合方程和R值: 使用
sprintf函数将拟合方程和 R 值格式化为字符串,然后使用text函数在图中指定位置添加文本标注。
总结:
通过以上步骤,您可以轻松地在Matlab中绘制带有拟合曲线、标注拟合方程和R值的散点图,使数据分析结果更加清晰易懂。
原文地址: https://www.cveoy.top/t/topic/oXc 著作权归作者所有。请勿转载和采集!