matlab画 NIR 光谱预测值与真实值之间的散点关系图
时间: 2024-09-21 20:07:33 浏览: 60
在MATLAB中,你可以使用`scatter`函数来创建NIR光谱预测值与真实值之间的散点图,这通常用于可视化模型的性能评估。以下是绘制这种图形的基本步骤:
1. **数据准备**:首先,你需要两个向量,一个是真实的NIR光谱值(通常是实验测量的结果),另一个是你模型预测的值。
```matlab
true_values = [真实光谱值的数据];
predicted_values = [模型预测的光谱值];
```
2. **创建散点图**:使用`scatter`函数,并将这两个向量作为输入,x轴对应于真实值,y轴对应于预测值。
```matlab
scatter(true_values, predicted_values);
xlabel('True Values');
ylabel('Predicted Values');
title('NIR Spectral Prediction vs. Actual Value Scatter Plot');
```
3. **添加更多信息**:如果你想展示每一点的频率或者颜色代表一些其他属性,可以利用`hold on`并在同一个图上添加额外的信息。
4. **调整视觉效果**:最后,可以添加网格线(`grid on`)、坐标轴范围等,以改进图表的可读性。
```matlab
hold on;
grid on;
xlim([min(min(true_values), min(predicted_values)), max(max(true_values), max(predicted_values))]);
```
相关问题
如何用matlab将校正集和验证集图标信息标在同一张 NIR 光谱预测值与真实值之间关系散点图上
在MATLAB中,你可以使用`plot`函数创建一张包含校正集(Correction Set)和验证集(Validation Set)的数据点的散点图,同时展示预测值与真实值的关系。这里是一个简单的步骤:
1. **数据准备**:
- 确保你已经分别有校正集的光谱预测值(Predicted NIR values, `pred_correct`),真实值(`true_correct`),以及验证集的预测值(`pred_validate`)和真实值(`true_validate`)。
2. **创建坐标轴**:
```matlab
figure; % 创建一个新的图形窗口
hold on; % 保持当前图层以便添加更多数据点
```
3. **绘制校正集散点**:
```matlab
scatter(true_correct, pred_correct, 'b', 'filled'); % 使用蓝色圆点表示校正集,'filled'指定填充颜色
xlabel('True Values (NIR)'); % x轴标签为真实值
ylabel('Predicted Values (NIR)'); % y轴标签为预测值
title('NIR Spectra Predictions vs. Actuals - Correction Set');
```
4. **绘制验证集散点**:
```matlab
scatter(true_validate, pred_validate, 'r', 'filled'); % 使用红色圆点表示验证集
```
5. **添加图例**:
```matlab
legend('Correction Set', 'Validation Set'); % 显示图例区分两个数据集
```
6. **调整图表风格**(如需):
```matlab
grid on; % 添加网格线
axis equal; % 保持x轴和y轴的比例一致
```
7. **保存图像**:
```matlab
saveas(gcf, 'scatter_plot_nir.png'); % 将图保存为png文件
```
完成以上步骤后,你就得到了一张同时展示了校正集和验证集的NIR光谱预测值与真实值关系的散点图。
如何用matlab将校正集和验证集的 NIR 光谱预测值与真实值之间展现在同一张散点关系图上
在MATLAB中,你可以按照以下步骤来创建一张散点图,展示校正集(Calibration Set)和验证集(Validation Set)的近红外(NIR)光谱预测值与真实值之间的关系:
1. **数据准备**:
- 确保你已经有了两个矩阵,分别存储校正集和验证集的NIR光谱预测值(`predicted_values_cal` 和 `predicted_values_val`),以及对应的真实值(`actual_values_cal` 和 `actual_values_val`)。
2. **创建图表**:
```matlab
% 创建一个新的图形窗口
figure
% 分别绘制校正集和验证集的数据
% 使用plot函数,第一个参数是X轴(实际值),第二个参数是Y轴(预测值)
hold on % 保持当前坐标系,以便在同一图上添加更多数据
plot(actual_values_cal, predicted_values_cal, 'o', 'MarkerFaceColor', 'b', 'DisplayName', 'Calibration Set')
plot(actual_values_val, predicted_values_val, 'o', 'MarkerFaceColor', 'r', 'DisplayName', 'Validation Set')
% 添加标题和标签
title('NIR Spectra Predictions vs Actual Values (Calibration & Validation Sets)')
xlabel('Actual Values')
ylabel('Predicted Values')
legend位置 % 根据需要设置legend的位置,如'Best'、'NorthWest'等
% 关闭hold状态,让所有数据都显示在同一张图上
hold off
```
3. **调整图表细节**:
- 可能的话,可以考虑增加图例颜色区分,或者调整点大小、线型等视觉效果以增强可读性。
4. **保存图像**:
```matlab
saveas(gcf, 'NIR_Spectra_Prediction_vs_Actual.png', 'png') % 将图像保存为PNG格式
```
完成以上步骤后,你就得到了一张展示了校正集和验证集NIR光谱预测值与真实值之间关系的散点图。
阅读全文