Skip to contents
fao_settings(lang = "zh")   # 本文所有图表使用中文
📦 数据来源:FAO全球捕捞产量(Global Capture Production)2026.1.0版(FAO于2026-03-30发布,1950–2024年),下载地址Capture_2026.1.0.zip,许可证CC BY 4.0。用fao_data_info()查看你使用的版本和引用格式。

这些函数以fishing_area_data()返回的渔区数据(这里是27渔区)为输入,聚焦于单个物种或单个国家。country_analysis()则分析一个国家在全部FAO渔区的捕捞情况。

FAO27 <- fishing_area_data("Atlantic, Northeast")

1️⃣ species_country():某个物种由哪些国家捕捞

物种名必须与FAO物种名称完全一致;不妨先看看该渔区的主要物种:

top <- aggregate(Production ~ ASFIS.species..Name., data = FAO27$area_data, FUN = sum)
head(top[order(-top$Production), "ASFIS.species..Name."], 10)
#>  [1] "Atlantic herring"          "Atlantic cod"             
#>  [3] "Capelin"                   "Blue whiting(=Poutassou)" 
#>  [5] "Atlantic mackerel"         "Sandeels(=Sandlances) nei"
#>  [7] "European sprat"            "Saithe(=Pollock)"         
#>  [9] "Haddock"                   "Norway pout"
cod <- species_country(FAO27$area_data, species_name = "Atlantic cod")
Atlantic_cod_country_map.png
Atlantic_cod_country_ranked_total.png
Atlantic_cod_country_ranked.png
Atlantic_cod_country_ranked_wrap.png
Atlantic_cod_country_pie_selected.png

文件名中的<species>是把物种名中的空格和标点替换为_后的名称(如Atlantic_cod):

文件 图表
<species>_country_map.png 世界地图:各国历年累计的该物种产量
species/<species>_country_ranked_total.png 所选国家(默认为前十名)的总产量及占比
species/<species>_country_ranked.png 这些国家的产量随时间的变化
species/<species>_country_ranked_wrap.png 每个国家一个分面,标出占比、线性趋势和平均产量的突变点(设置timeseries_analysis = FALSE时为平滑曲线)
species/<species>_country_pie_selected.png 主要国家在各年代以及当前年代逐年的占比(最多四个国家,其余合并)

表格tables/<species>_country_ranked_table.csv列出每个国家各年代的平均产量、最近五年的产量,以及最后一年的占比:

table <- read.csv("tables/Atlantic_cod_country_ranked_table.csv",
                  fileEncoding = "UTF-8-BOM", check.names = FALSE)
show_table(table, n = 10, digits = 0)
Country..Name. 1950s 1960s 1970s 1980s 1990s 2000s 2010s 2020s 2020 2021 2022 2023 2024 total_2024_production percentage_of_total_2024
丹麦 49,390 78,840 138,487 165,392 73,986 33,334 22,034 5,230 6,996 4,448 3,654 5,440 5,610 5,610 1
俄罗斯联邦 NA NA NA NA 214,118 196,751 364,080 300,680 314,422 353,303 334,655 277,721 223,297 223,297 29
冰岛 265,890 246,870 282,864 365,598 250,113 205,186 235,340 247,559 278,442 272,045 243,991 221,009 222,309 222,309 29
大不列颠及北爱尔兰联合王国 427,430 358,120 275,555 112,584 69,885 25,002 29,324 18,373 24,762 13,001 15,645 19,051 19,404 19,404 3
德国 121,200 89,570 103,867 57,171 28,332 17,077 15,114 9,676 11,507 9,187 9,900 9,085 8,699 8,699 1
挪威 240,370 255,160 383,889 277,006 285,810 222,616 387,177 313,285 330,767 381,594 353,966 293,408 206,691 206,691 27
法国 43,990 32,530 50,235 31,332 18,433 8,751 10,046 5,288 6,659 4,710 4,995 4,601 5,474 5,474 1
法罗群岛 50,750 20,140 38,589 51,879 36,275 38,108 34,271 29,977 34,510 29,453 28,542 29,504 27,875 27,875 4
波兰 48,440 53,090 66,401 71,149 24,222 16,289 14,938 1,069 1,800 3,164 129 148 104 104 0
苏联 382,090 407,780 341,246 170,941 21,676 NA NA NA NA NA NA NA NA NA NA

设置timeseries_analysis = TRUE时,函数返回一个包含两个数据框的列表:所选国家逐年的产量(cod[[1]])和它们的突变点(cod[[2]]:每个时段的起始年、结束年和平均产量);设置timeseries_analysis = FALSE时只返回前者。

参数

参数 含义 默认值
area_data 渔区产量数据:fishing_area_data()$area_data或load_fao_data()的任意子集
species_name FAO物种名(ASFIS英文名,与数据中一致)
rank_range 显示的国家名次(按该物种历年总产量排序):1:10为前十名,c(5, 6)为第五和第六名 1:10
plot 保存图表 TRUE
table 在tables/中保存表格 TRUE
timeseries_analysis TRUE:分面图显示线性趋势和突变点;FALSE:分面图显示平滑(loess)曲线 TRUE
h_value 相邻突变点之间时段的最短长度:占序列的比例或年数 0.15
polygon_color 地图上国界线的颜色 "grey90"
fill_scale 地图色板,可用fao_settings()中map_palette的任一取值 NULL:fao_settings()中的map_palette("deep-orange")
axis_title_face 地图坐标轴标题的字形 "bold"
axis_title_size_map 地图坐标轴标题的字号 14
axis_text_size_map 地图坐标轴标签的字号 12
legend_text_size_map 地图图例文字的字号 12
axis_text_size、axis_title_size 其他图表坐标轴标签和标题的字号 10、12
strip_text_size、strip_text_face 分面标题的字号和字形 12、"bold"
ZH 指定中文的旧方式:TRUE等同于lang = "zh" FALSE
lang 图表文字和名称的语言:"en"、"zh"或"both" NULL:ZH = TRUE时为"zh",否则使用fao_settings()中的语言
pptx 同时保存可编辑的PowerPoint文件 FALSE,或fao_settings()中的pptx
plot_show 保存图表的同时把图画在绘图窗口中(例如RStudio的Plots窗格) FALSE,或fao_settings()中的plot_show

在当前版本中,species_country()的排名图、时间序列图、分面图和饼图使用固定的字号:axis_text_size、axis_title_size、strip_text_size和strip_text_face可以传入,但不会改变这些图。地图的参数有效。

有些国家的金枪鱼产量序列较短;把h_value设大一些,突变点会更清晰:

species_country(FAO27$area_data, species_name = "Atlantic bluefin tuna", h_value = 5, lang = "zh")
Atlantic_bluefin_tuna_country_ranked_wrap.png

2️⃣ country_species():某个国家在渔区内捕什么

norway <- country_species(FAO27$area_data, country_name = "Norway")
Norway_species_ranked_total.png
Norway_species_ranked.png
Norway_species_ranked_wrap.png
Norway_species_pie_selected.png

文件名中的<country>是把国家名中的空格和标点替换为_后的名称:

文件 图表
country/<country>_species_ranked_total.png 该国所选物种(默认为前十名)的总产量及占比
country/<country>_species_ranked.png 这些物种的产量随时间的变化
country/<country>_species_ranked_wrap.png 每个物种一个分面,标出占比、趋势和突变点
country/<country>_species_pie_selected.png 各物种在各年代以及当前年代逐年的占比
tables/<country>_country_ranked_table.csv 每个物种各年代的平均产量、最近五年的产量和最后一年的占比

函数返回所选物种逐年的产量。

time_analysis_text_displacement用来移动分面图中占比标签的位置(以首次出现产量后的年数计),当标签与曲线重叠时很有用:

country_species(FAO27$area_data, country_name = "Spain", h_value = 5,
                time_analysis_text_displacement = 6, lang = "both")
Spain_species_ranked_wrap.png
参数 含义 默认值
area_data 渔区产量数据:fishing_area_data()$area_data或load_fao_data()的任意子集
country_name FAO国家名,与数据中一致
rank_range 显示的物种名次(按该国历年总产量排序):1:10为前十名,c(5, 6)为第五和第六名 1:10
plot 保存图表 TRUE
table 在tables/中保存表格 TRUE
timeseries_analysis TRUE:分面图显示线性趋势和突变点;FALSE:分面图显示平滑(loess)曲线 TRUE
time_analysis_text_displacement 分面图中占比标签的位置:首次出现产量后的年数 10
h_value 相邻突变点之间时段的最短长度:占序列的比例或年数 0.15
ZH 指定中文的旧方式:TRUE等同于lang = "zh" FALSE
lang 图表文字和名称的语言:"en"、"zh"或"both" NULL:ZH = TRUE时为"zh",否则使用fao_settings()中的语言
pptx 同时保存可编辑的PowerPoint文件 FALSE,或fao_settings()中的pptx
plot_show 保存图表的同时把图画在绘图窗口中(例如RStudio的Plots窗格) FALSE,或fao_settings()中的plot_show

3️⃣ country_analysis():某个国家在全部FAO渔区的捕捞

country_analysis()使用一个国家在全部FAO渔区的产量,因此只需提供国家名:

norway_global <- country_analysis(country_name = "Norway")
Norwayanalysis_species_ranked_total.png
Norwayanalysis_species_ranked.png
Norwayanalysis_species_ranked_wrap.png
Norwayanalysis_species_pie_selected.png
Norwayfishing_area_map.png
Norwayanalysis_species_by_area.png
Norwayanalysis_area_total_production.png
Norwayyearly_area_production.png
Norwayyearly_area_production_wrap.png

除了物种相关的图表(与country_species()相同,文件名为<country>analysis_...),它还会保存:

文件 图表
country/<country>fishing_area_map.png 该国在各FAO渔区的总产量,绘制在FAO渔区地图上;该国本身以红色标出
country/<country>analysis_species_by_area.png 主要物种的产量,按渔区拆分,并标出各渔区占该物种产量的比例
country/<country>analysis_area_total_production.png 各渔区的总产量及占比
country/<country>yearly_area_production.png 各渔区产量随时间的变化
country/<country>yearly_area_production_wrap.png 每个渔区一个分面
tables/<country>analysis_country_ranked_table.csv 每个物种各年代的平均产量、最近五年的产量和最后一年的占比

函数返回绘图所用的数据:

names(norway_global)
#> [1] "country_species_ranked"            "country_species_ranked_coefs_data"
#> [3] "table"                             "country_species_area_total"       
#> [5] "country_yearly_area_production"
show_table(norway_global$country_species_area_total, n = 8, digits = 1)
ASFIS.species..Name. FAO.major.fishing.area..Name. area_species_production total_species_production percentage_of_total
大西洋鲱 东北大西洋 41,904,457.7 41,904,458 100.0
毛鳞鱼 东北大西洋 30,995,470.2 31,182,216 99.4
毛鳞鱼 西北大西洋 186,746.0 31,182,216 0.6
大西洋鳕 东北大西洋 22,086,713.3 23,039,382 95.9
大西洋鳕 西北大西洋 952,668.4 23,039,382 4.1
小鳍鳕 东北大西洋 16,072,409.4 16,072,409 100.0
大西洋鲭 东北大西洋 13,148,795.6 13,148,796 100.0
青鳕 Saithe(=Pollock) 东北大西洋 12,242,719.4 12,242,806 100.0
元素 内容
country_species_ranked 所选物种逐年的产量
country_species_ranked_coefs_data 这些物种的突变点
table 保存在tables/中的表格
country_species_area_total 所选物种在各渔区的产量,以及各渔区占该物种产量的比例
country_yearly_area_production 各渔区逐年的产量,以及占该国当年总产量的比例
参数 含义 默认值
country_name FAO国家名,与数据中一致
rank_range 显示的物种名次(按该国历年总产量排序):1:10为前十名,c(5, 6)为第五和第六名 1:10
plot 保存图表 TRUE
table 在tables/中保存表格 TRUE
timeseries_analysis TRUE:物种分面图显示线性趋势和突变点;FALSE:显示平滑曲线 TRUE
time_analysis_text_displacement 分面图中占比标签的位置:首次出现产量后的年数 10
h_value 相邻突变点之间时段的最短长度:占序列的比例或年数 0.15
ZH 指定中文的旧方式:TRUE等同于lang = "zh" FALSE
fill_scale 渔区地图的色板,可用fao_settings()中map_palette的任一取值 NULL:fao_settings()中的map_palette
lang 图表文字和名称的语言:"en"、"zh"或"both" NULL:ZH = TRUE时为"zh",否则使用fao_settings()中的语言
data_version FAO数据版本:"latest"、"bundled"或具体版本号(如"2026.1.0",见💾 FAO数据) "latest"
pptx 同时保存可编辑的PowerPoint文件 FALSE,或fao_settings()中的pptx
plot_show 保存图表的同时把图画在绘图窗口中(例如RStudio的Plots窗格) FALSE,或fao_settings()中的plot_show

突变点的识别方法见🌊 渔区分析(用strucchange::breakpoints()拟合各时段均值不变的模型)。

国家名采用FAO的名称,例如"Korea, Republic of"、"Russian Federation"、"Taiwan Province of China"。可以这样查找:grep("Korea", unique(load_fao_data()$Country..Name.), value = TRUE)。

📖 参考文献

Bai, J. and Perron, P. (2003). Computation and analysis of multiple structural change models. Journal of Applied Econometrics 18(1): 1–22. doi:10.1002/jae.659

FAO (2026). FishStat: Global capture production 1950–2024 (release 2026.1.0). In: FishStatJ. https://www.fao.org/fishery/statistics/software/fishstatj/en. Licence: CC-BY-4.0. Release file: https://www.fao.org/fishery/static/Data/Capture_2026.1.0.zip

FAO. ASFIS List of Species for Fishery Statistics Purposes. Rome: FAO. https://www.fao.org/fishery/collection/asfis/en

FAO (2024). FAO Major Fishing Areas for Statistical Purposes. In: FAO Fisheries and Aquaculture Division [online]. Licence: CC-BY 4.0. https://www.fao.org/fishery/geonetwork?uuid=ac02a460-da52-11dc-9d70-0017f293bd28 (the area boundaries of the fishing area map, bundled as inst/extdata/FAO_AREAS_CWP.shp)

Natural Earth. Admin 0 – Details, map units, 1:50m (the country outlines of the maps). https://www.naturalearthdata.com/downloads/50m-cultural-vectors/50m-admin-0-details/

Pebesma, E. (2018). Simple features for R: standardized support for spatial vector data. The R Journal 10(1): 439–446. doi:10.32614/RJ-2018-009

Zeileis, A., Kleiber, C., Krämer, W. and Hornik, K. (2003). Testing and dating of structural changes in practice. Computational Statistics & Data Analysis 44(1–2): 109–123. doi:10.1016/S0167-9473(03)00030-6

Zeileis, A., Leisch, F., Hornik, K. and Kleiber, C. (2002). strucchange: an R package for testing for structural change in linear regression models. Journal of Statistical Software 7(2): 1–38. doi:10.18637/jss.v007.i02