scatterYearAvgTempRad脚本

这段 MATLAB 代码的功能是绘制 15 个地点的年平均温度和辐射数据的散点图,并生成一个图形。这些数据用于生成论文中的图 2(Figure 2),论文标题为《Energy savings in greenhouses by transition from high-pressure sodium to LED lighting》。以下是代码的详细解释:


代码功能

  1. 加载数据

    • 从指定文件夹加载 15 个地点的天气数据(weather 变量)。

    • 每个地点的数据存储在 MAT 文件中,文件名为 [location]EnergyPlus.mat(例如 amsEnergyPlus.mat)。

  2. 计算年平均值和辐射

    • 对每个地点的温度和辐射数据,计算年平均值。

    • 温度数据存储在 weather(:,3) 中,单位为 ℃。

    • 辐射数据存储在 weather(:,2) 中,单位为 W/m²,转换为 MJ/m²/day。

  3. 绘制散点图

    • 使用 scatter 函数绘制每个地点的年平均温度和辐射数据。

    • 每个地点用不同颜色表示,并在数据点旁边标注地点名称。

  4. 图形设置

    • 添加网格、坐标轴标签和图例。


代码结构

  1. 初始化

    • 设置当前文件夹路径和数据文件夹路径。

    • 定义颜色。

  2. 分配颜色

    • 使用 lines 颜色映射为每个地点分配颜色,确保颜色与论文中的图 1 一致。

  3. 加载数据并绘制散点图

    • 逐个加载每个地点的天气数据。

    • 计算年平均温度和辐射。

    • 使用 scatter 函数绘制散点图,并标注地点名称。

  4. 图形设置

    • 添加网格、坐标轴标签。


代码详细解析

1. 初始化

matlab
复制
currentFile = mfilename('fullpath');
currentFolder = fileparts(currentFile);
dataFolder = [currentFolder '\data\'];
  • 获取当前文件的路径,并设置数据文件夹路径。

2. 定义颜色

matlab
复制
cc = lines(100);
AMS = cc(1,:);
BEI = cc(2,:);
CAL = cc(4,:);
CHE = cc(5,:);
KIR = cc(3,:);
STP = cc(6,:);
TOK = cc(7,:);
URU = cc(12,:);
ANC = cc(8,:);
SAM = cc(3,:);
SHA = cc(4,:);
WIN = cc(12,:);
ARK = cc(13,:);
MOS = cc(14,:);
VEN = cc(5,:);
  • 使用 lines 颜色映射生成 100 种颜色。

  • 为每个地点分配颜色,确保颜色与论文中的图 1 一致。

3. 加载数据并绘制散点图

matlab
复制
load([dataFolder 'amsEnergyPlus.mat'], 'weather')
temp = mean(weather(:,3));
rad = mean(weather(:,2));
scatter(temp,rad*86400*1e-6,50,AMS,'filled');
text(temp+0.25,rad*86400*1e-6-0.25,'AMS','Color',AMS);
hold on
k=1;
out(k,1:2) = [temp rad];
  • 加载阿姆斯特丹(AMS)的天气数据。

  • 计算年平均温度和辐射。

  • 使用 scatter 函数绘制散点图,并标注地点名称。

  • 将结果存储在 out 矩阵中。

4. 重复加载和绘制其他地点

  • 对其他 14 个地点重复上述步骤,加载数据、计算平均值、绘制散点图并标注地点名称。

5. 图形设置

matlab
复制
grid
xlabel('Temperature (癈)')
ylabel('Radiation (MJ m^{-2} day^{-1})');
  • 添加网格和坐标轴标签。


输出结果

  • 生成一个散点图,显示 15 个地点的年平均温度和辐射数据。

  • 每个数据点表示一个地点的年平均值,标注地点名称。

  • 图形用于论文中的图 2,展示不同地点的气候特征。


示例

假设数据文件夹中包含以下文件:

  • amsEnergyPlus.mat

  • ancEnergyPlus.mat

  • arkEnergyPlus.mat

  • 等等。

运行代码后,将生成一个散点图,显示 15 个地点的年平均温度和辐射数据。每个数据点用不同颜色表示,并标注地点名称。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇