已有3列数据:地块类型(A,B,C,D)、作物种类(1,2,3,4)、预期销售量(100斤,200斤……),给出这三个量的matlab的3D图的代码
时间: 2024-09-08 18:01:25 浏览: 51
在MATLAB中创建三维散点图,可以使用`surf`函数或者更现代的`scatter3`函数来表示三个变量的关系。假设你已经有了名为`plot_type`, `crop_kind`, 和 `sales_quantity` 的数组分别对应地块类型、作物种类和预期销售量。以下是简单的代码示例:
```matlab
% 假设你的数据存储在矩阵或结构体数组中
% 地块类型,作物种类,预期销售量
plot_type = {'A'; 'B'; 'C'; 'D'};
crop_kind = [1; 2; 3; 4];
sales_quantity = [100, 200, 150, 300]; % 假设这是对应的数据
% 将数据转换成便于绘制的格式,比如将分类数据转化为行向量
[plot_type_vec, crop_kind_vec] = unique(plot_type);
sales_quantity = reshape(sales_quantity, [], length(unique(crop_kind)));
% 创建三维散点图
figure;
scatter3(crop_kind_vec, plot_type_vec', sales_quantity, 'filled');
xlabel('作物种类');
ylabel('地块类型');
zlabel('预期销售量');
title('地块类型 vs 作物种类 vs 预期销售量');
% 或者使用 surf 函数
figure;
surf(plot_type_vec, crop_kind_vec, sales_quantity);
xlabel('作物种类');
ylabel('地块类型');
zlabel('预期销售量');
shading interp; % 更平滑的表面效果
% 如果有颜色映射,还可以添加上色
colormap(jet); % 更改颜色方案
colorbar;
%
阅读全文