You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在R中基于气温距平数据绘制3D核密度图的方法咨询

用ksdensity绘制3D核密度图的实现方案

数据预处理

  • 将1991-2021年逐小时气温距平数据整理为两个一维向量:
    • x:每个数据点对应的年份(逐小时数据需对应所属年份)
    • y:每个数据点对应的气温距平值

核心代码实现

1. 计算二维核密度估计

调用ksdensity计算二维密度分布,生成网格点与对应密度值:

% 假设x为年份向量,y为气温距平向量
[f, xi, yi] = ksdensity([x, y]);
% 将一维密度结果转为适配3D绘图的矩阵格式
F = reshape(f, length(xi), length(yi));

2. 绘制3D核密度图

使用surf函数生成3D曲面图,也可替换为mesh等其他3D绘图函数:

figure
surf(xi, yi, F')
xlabel('年份')
ylabel('气温距平值')
zlabel('密度值')
title('1991-2021年逐小时气温距平3D核密度图')
shading interp  % 可选,优化曲面平滑度
colorbar        % 显示密度色标,辅助解读

补充说明

  • 若数据存储在表格文件中,可先通过readtable读取并提取列向量:
    data = readtable('你的数据文件路径');
    x = data.年份列名;  % 替换为实际列名
    y = data.距平列名;  % 替换为实际列名
    
  • 如需调整核密度的平滑程度,可在ksdensity中添加'Bandwidth'参数自定义带宽,例如:
    [f, xi, yi] = ksdensity([x, y], 'Bandwidth', [0.8, 0.3]);
    

内容的提问来源于stack exchange,提问作者Jimin Eom

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 19:46:16