Skip to contents

英文原页:cmsy_plot()

说明

本函数绘制cmsy_run()的结果。对每个种群,根据运行时保存的结果,绘制CMSY++用户指南(Froese等,2021)中的各图:

  • analysis:CMSY++分析图的A-F六个子图合为一幅:渔获量、探索的和可行的r-k组合、B/k、F/Fmsy和平衡曲线(用户指南图1;需要patchwork包);
  • catch:渔获量,以及MSY估计值及其95%置信带(用户指南图1A、图2左上);
  • rk:后验r-k组合(对数坐标)、r和k的先验范围(点线框),以及最可能的组合及其95%置信限(图1B、C);
  • biomass:相对生物量B/k及其95%置信带,第一年、中间年份和最后一年的B/k先验范围(来自人工神经网络时为虚线,由用户给出时为实线),Bmsy(B/k = 0.5)和Bmsy的一半(B/k = 0.25,补充量减少)(图1D);
  • b_bmsy:相对资源量B/Bmsy及其95%置信带,并在Bmsy、0.8 Bmsy(FAO的过度捕捞界限)和0.5 Bmsy处画线(图2右上);
  • exploitation:F/Fmsy及其95%置信带和Fmsy(图1E、图2左下);
  • equilibrium:渔获量/MSY随B/k变化的Schaefer平衡曲线,在B/k = 0.25以下向下凹折(生产力降低),并显示从第一年(方形)到最后一年(三角形)的预测轨迹(图1F);
  • management:四个管理子图合为一幅:渔获量及MSY、B/Bmsy、F/Fmsy和Kobe图(图2;没有patchwork包时只有前三个子图);
  • kobe:Kobe图:B/Bmsy和F/Fmsy从第一年(方形)经中间年份(圆形)到最后一年(三角形)的轨迹,最后一年的后验抽样点及其50%、80%和95%概率区域,以及各象限的概率(图3);
  • prior_posterior:r、k、MSY以及第一年、中间年份和最后一年B/k的先验和后验密度,并给出后验与先验方差比(PPVR)(图4);
  • retrospective:回顾性分析,即去掉最后一年、两年或三年数据时的B/Bmsy和F/Fmsy,并给出Mohn’s rho(图5;需要cmsy_run(plots = "retrospective"));
  • mcmc:r、k、MSY和最后一年B/k每条MCMC链的抽样(轨迹)及其密度,并给出Rhat和有效样本量(见cmsy_mcmc();本包早期版本的运行结果没有这张图)。

多个种群合在一起的图表:

  • overview:每个种群最后一年的B/Bmsy及其95%置信限,按状态着色;
  • kobe_all:所有种群最后一年的B/Bmsy和F/Fmsy绘于一幅Kobe图中,点的大小表示渔获量;
  • status:各状态类别的种群数占比和最后一年渔获量占比;
  • status_time:上述占比的逐年变化,分别按种群数和按渔获量加权计算;
  • histogram:最后一年B/Bmsy的分布,并标出类别界限;
  • b_bmsy_all:每个种群B/Bmsy随时间的变化(分面小图);
  • trend:各年份种群B/Bmsy的中位数(附四分位距),以及低于0.8 Bmsy的种群所占比例;
  • aggregate:每年有结果的种群的总渔获量与总MSY之比,以及总生物量与总Bmsy之比;
  • map:在地图上显示每个FAO主要渔区内各种群最后一年B/Bmsy的中位数。

状态分级(classes)默认采用FAO(2026)对仅基于渔获量(第3级)结果的分类:最大可持续捕捞(B/Bmsy至少为0.8)或过度捕捞。classes = "palomares"采用许多CMSY研究所用的Palomares等(2018)的五级分类:健康(至少为1)、轻度过度捕捞(0.8-1)、过度捕捞(0.5-0.8)、严重过度捕捞(0.2-0.5)和崩溃(低于0.2)。

English

This function draws the results of cmsy_run(). For each stock it draws the charts of the CMSY++ user guide (Froese et al. 2021), from the results saved by the run:

  • analysis: the six panels A-F of the CMSY++ analysis chart in one figure: catch, the explored and the viable r-k pairs, B/k, F/Fmsy and the equilibrium curve (user guide Figure 1; needs the patchwork package);
  • catch: catch with the MSY estimate and its 95% confidence band (user guide Figure 1A, 2 upper left);
  • rk: the posterior r-k pairs (log scales), the prior ranges of r and k (dotted box) and the most likely pair with its 95% limits (Figure 1B, C);
  • biomass: relative biomass B/k with its 95% band, the B/k prior ranges of the first, intermediate and last years (dashed if from the neural network, solid if given by the user), Bmsy (B/k = 0.5) and half of Bmsy (B/k = 0.25, reduced recruitment) (Figure 1D);
  • b_bmsy: relative stock size B/Bmsy with its 95% band and lines at Bmsy, 0.8 Bmsy (FAO limit of overfished) and 0.5 Bmsy (Figure 2 upper right);
  • exploitation: F/Fmsy with its 95% band and Fmsy (Figure 1E, 2 lower left);
  • equilibrium: the Schaefer equilibrium curve of catch/MSY against B/k, indented below B/k = 0.25, with the predicted path from the first (square) to the last year (triangle) (Figure 1F);
  • management: the four management panels in one figure: catch with MSY, B/Bmsy, F/Fmsy and the Kobe plot (Figure 2; without the patchwork package, the first three panels);
  • kobe: Kobe plot: the path of B/Bmsy and F/Fmsy from the first (square) through the intermediate (circle) to the last year (triangle), the last-year posterior draws with the 50, 80 and 95% probability regions, and the probability of each quadrant (Figure 3);
  • prior_posterior: prior and posterior densities of r, k, MSY and B/k in the first, intermediate and last years, with the prior-posterior variance ratio PPVR (Figure 4);
  • retrospective: B/Bmsy and F/Fmsy when the last one, two or three years are left out, with Mohn’s rho (Figure 5; needs cmsy_run(plots = "retrospective"));
  • mcmc: the draws of each MCMC chain (trace) and their densities for r, k, MSY and the last-year B/k, with Rhat and the effective sample size (see cmsy_mcmc(); not for runs of earlier versions of the package).

For several stocks together:

  • overview: last-year B/Bmsy of each stock with its 95% limits, coloured by status;
  • kobe_all: last-year B/Bmsy and F/Fmsy of all stocks in a Kobe plot, sized by catch;
  • status: share of stocks and of last-year catch in each status class;
  • status_time: the same shares in every year, by number of stocks and weighted by catch;
  • histogram: distribution of the last-year B/Bmsy, with the class limits;
  • b_bmsy_all: B/Bmsy of every stock over time (small multiples);
  • trend: median B/Bmsy of the stocks by year (with the interquartile range) and the share of stocks below 0.8 Bmsy;
  • aggregate: total catch relative to total MSY, and total biomass relative to total Bmsy, of the stocks with results in each year;
  • map: median last-year B/Bmsy of the stocks of each FAO fishing area on a map.

Status classes (classes) follow FAO (2026) for catch-only (Tier 3) results by default: maximally sustainably fished (B/Bmsy at least 0.8) or overfished. classes = "palomares" uses the five classes of Palomares et al. (2018), used by many CMSY studies: healthy (at least 1), slightly overfished (0.8-1), overfished (0.5-0.8), grossly overfished (0.2-0.5) and collapsed (below 0.2).

用法

cmsy_plot(
  result,
  stocks = NULL,
  charts = c(cmsy_stock_charts, cmsy_summary_charts),
  classes = c("fao", "palomares"),
  annotations = getOption("faofishingreport.cmsy_annotations", FALSE),
  lang = NULL,
  pptx = getOption("faofishingreport.pptx", FALSE),
  plot_show = fao_setting("plot_show"),
  silent = fao_setting("silent"),
  mcmc_colors = NULL
)

参数

result
cmsy_run()的结果。
English The result of cmsy_run().
stocks
要绘制的种群(可选):Stock标识,或物种的FAO英文或中文名称、学名或FAO三字母代码。默认为NULL,即所有已运行的种群。
English Optional stocks to draw: Stock identifiers or species, by English or Chinese FAO name, scientific name or FAO 3-alpha code. Default is NULL, all stocks that ran.
charts
要绘制的图表(见上文“说明”中的列表)。默认为全部图表。
English The charts to draw (listed in the description above). Default is all of them.
classes
状态分级:“fao”(默认,两级)或”palomares”(五级)。
English The status classes: “fao” (default, two classes) or “palomares” (five classes).
annotations
在坐标轴标题和坐标轴标签之外添加的文字:FALSE(默认)不添加,TRUE全部添加,或”title”、“subtitle”、“caption”、“legend”和”labels”(图内文字)中的任意几项。可以用options(faofishingreport.cmsy_annotations = TRUE)更改本次R会话的默认值。
English The text added to the axis titles and labels: FALSE (default) none, TRUE all, or any of “title”, “subtitle”, “caption”, “legend” and “labels” (text inside the chart). The default can be changed for the session with options(faofishingreport.cmsy_annotations = TRUE).
lang
图表文字和名称的语言:“en”(英文)、“zh”(中文)或”both”(中英双语)。默认为NULL,即使用fao_settings()设置的语言(未更改时为”en”)。
English The language of the chart text and names: “en” (English), “zh” (Chinese) or “both” (Chinese and English). Default is NULL, which uses the language set with fao_settings() (“en” unless changed).
pptx
逻辑值。为TRUE时,图表还另存为可编辑的PowerPoint文件,保存在figures/pptx/cmsy/<stock>/和figures/pptx/cmsy/summary/。默认为FALSE,可以用fao_settings(pptx = TRUE)为所有函数统一更改。
English A logical value. If TRUE, the charts are also saved as editable PowerPoint files in figures/pptx/cmsy/<stock>/ and figures/pptx/cmsy/summary/. Default is FALSE, which can be changed for all functions with fao_settings(pptx = TRUE).
plot_show
逻辑值。为TRUE时,每张图在保存的同时也画在绘图窗口中(例如RStudio的Plots窗格),便于立即查看。默认为FALSE,可以用fao_settings(plot_show = TRUE)为所有函数统一更改。无论是否显示,图表都会保存为文件(plot = TRUE)。
English A logical value. If TRUE, each chart is also drawn in the plot window (e.g. the Plots pane of RStudio) as it is saved, to look at it at once. Default is FALSE, which can be changed for all functions with fao_settings(plot_show = TRUE). The charts are saved as files (plot = TRUE) either way.
silent
逻辑值。为FALSE(默认)时,用进度条显示已绘制的种群数;为TRUE时不输出任何内容。可以用fao_settings(silent = TRUE)更改本次R会话的默认值。
English A logical value. If FALSE (default), a progress bar shows how many stocks have been drawn. If TRUE, nothing is printed. The default can be changed for the session with fao_settings(silent = TRUE).
mcmc_colors
“mcmc”图中各条链的颜色:NULL(默认)为Okabe-Ito配色,也可以是调色板名称或颜色向量(见cmsy_mcmc())。
English Colours of the chains in the “mcmc” chart: NULL (default) for the Okabe-Ito colours, a palette name or a vector of colours (see cmsy_mcmc()).

返回值

以不可见方式返回一个由ggplot对象组成的命名列表。

English

Invisibly, a named list of the ggplot objects.

详细说明

默认情况下,图表只显示坐标轴标题和坐标轴标签,可以直接用于报告,由报告自行配图注。标题、副标题、图注(方法、数据和先验来源)、图例和图内文字(概率、PPVR、Mohn’s rho)可通过annotations添加。

图表保存在figures/png/cmsy/<stock>/和figures/png/cmsy/summary/(pptx为TRUE时还另存为PowerPoint文件)。CMSY++自身的JPEG图表在各种群的文件夹中(见result$summary$folder)。

English

By default the charts show only the axis titles and axis labels, so they can be used directly in reports with captions of their own. Titles, subtitles, captions (method, data and prior sources), legends and text inside the charts (probabilities, PPVR, Mohn’s rho) are added with annotations.

Charts are saved in figures/png/cmsy/<stock>/ and figures/png/cmsy/summary/ (and as PowerPoint when pptx is TRUE). CMSY++’s own JPEG charts are in the folder of each stock (see result$summary$folder).

参考文献

Froese, R., Demirel, N., Coro, G. and Winker, H. (2021). User Guide for CMSY++. GEOMAR, Germany, 17 pp. https://oceanrep.geomar.de/id/eprint/52147/

Palomares, M.L.D., Froese, R., Derrick, B., Noel, S.-L., Tsui, G., Woroniak, J. and Pauly, D. (2018). A preliminary global assessment of the status of exploited marine fish and invertebrate populations. A report prepared by the Sea Around Us for OCEANA. University of British Columbia and GEOMAR. https://www.fishbase.de/rfroese/OceanaFinalReport_V7a.pdf

FAO (2026). The State of World Fisheries and Aquaculture 2026. Rome, FAO. Section “The status of fishery resources”, Box 1.3 (assessment tiers and status classes). https://openknowledge.fao.org/server/api/core/bitstreams/09d03e2f-7097-4d59-bf94-db65e95f44fd/content/sofia-2026/the-status-fishery-resources.html

Mohn, R. (1999). The retrospective problem in sequential population analysis: an investigation using cod fishery and simulated data. ICES Journal of Marine Science 56: 473-488. doi:10.1006/jmsc.1999.0481

示例

# result <- cmsy_run(...), see cmsy_run()

# All charts in Chinese, with axis text only (the default)
cmsy_plot(result, lang = "zh")

# Kobe plot and prior-posterior densities of one species, with all annotations
cmsy_plot(result, stocks = "Mallotus villosus", charts = c("kobe", "prior_posterior"),
          annotations = TRUE, lang = "both")

# Only titles and legends
cmsy_plot(result, annotations = c("title", "legend"))

# Status of all stocks in the five classes of Palomares et al. (2018), with legends
cmsy_plot(result, charts = c("status", "status_time", "histogram", "map"), classes = "palomares",
          annotations = "legend")

# The management chart also as editable PowerPoint
cmsy_plot(result, charts = "management", pptx = TRUE)

# Annotations for the rest of the session
options(faofishingreport.cmsy_annotations = TRUE)