- 已编辑
rmarkdown渲染结果中未能够显示代码运行的结果图片,blogdown中content部分有关该post的文件结构如下
> list.files("D:/blog/test2/content/post/covid",full.names = TRUE)
[1] "D:/blog/test2/content/post/covid/china-Covid19-map.md"
[2] "D:/blog/test2/content/post/covid/china-Covid19-map.Rmd"
[3] "D:/blog/test2/content/post/covid/china_prov_full_map.json"
[4] "D:/blog/test2/content/post/covid/data.xlsx"
[5] "D:/blog/test2/content/post/covid/font"
其中china-Covid19-map.Rmd是核心文件,china_prov_full_map.json储存了中国矢量边界地图数据数据,data.xlsx是绘图数据,font是绘图的字体数据。
渲染结束后在浏览器打开结果如下
我自行百度发现这个问题已经有相关提问,链接如下
1.Generated plots not showing in blogdown
2.Blogdown Images Fail to Render on Site/Viewer
于是我将我的set up部分改成
knitr::opts_chunk$set(
echo = TRUE,
echo = TRUE,
fig.path = "static/",
fig.align = "center"
)
相当于添加了静态文件夹,使得hugo能够存储结果图片进来?然后再次试一下
发现这个问题仍旧存在,并且生成的china-Covid19-map.md对图片P的链接代码为
library(extrafont)
library(showtext)
library(stringr)
library(ggsflabel)
library(ggspatial)
showtext_auto(enable = TRUE)
font_add("Times", "./font/Times New Roman.ttf")
font_add("KaiTi", "./font/KaiTi.ttf")
province_sf <- read_sf('china_prov_full_map.json') %>%
mutate(across(.cols = 省代码,.fns = as.character)) %>%
left_join(x = .,y = data,by = c("省代码" = "provincecode")) %>%
mutate(confirmed_dis = case_when(
is.na(confirmed) ~ "0~100",
confirmed <= 100 ~ "0~100",
confirmed <= 500 ~ "100~500",
confirmed <= 1000 ~ "500~1000",
confirmed <= 1500 ~ "1000~1500",
confirmed <= 2000 ~ "1500~2000",
confirmed <= 3000 ~ "2000~3000",
TRUE ~ ">3000"
))
p <- ggplot(province_sf) +
geom_sf(aes(fill = confirmed_dis),size = 0.1,color = "black") +
scale_fill_manual(
values = c("0~100" = "#FEF1DD",
"100~500" = "#FDDDB2",
"500~1000" = "#FDC38D",
"1000~1500" = "#FC9863",
"1500~2000" = "#EF6648",
"2000~3000" = "#D42C1C",
">3000" = "#A80000")
) +
geom_sf_label_repel(
data = province_sf %>%
dplyr::filter(str_sub(省,nchar(省)) %in% c("省","区","市")),
aes(label = 省),family = 'KaiTi',
nudge_x = -5, nudge_y = -5, seed = 10
) +
guides(fill = guide_legend(nrow = 2,byrow = TRUE)) +
theme(plot.title = element_text(size = 16,hjust = 0.5,vjust = 0.5,face = "bold",family = "KaiTi"),
plot.subtitle = element_text(size = 12,hjust = 0.5,vjust = 0.5,face = "bold",family = "KaiTi"),
axis.text.x = element_blank(),
axis.text.y = element_blank(),
axis.title.x = element_blank(),
axis.title.y = element_blank(),
# panel.grid.major = element_blank(),
# panel.grid.minor = element_blank(),
axis.ticks = element_blank(),
legend.position = "bottom",
legend.text = element_text(family = "Times"),
legend.title = element_text(family = "KaiTi")) +
labs(fill = "确诊人数",
title = "新冠肺炎确诊病例省份分布",
subtitle = paste0("2020-02-25 确诊病例 ",sum(province_sf$confirmed,na.rm = TRUE))) +
annotation_scale(location = "bl", width_hint = 0.3) +
annotation_north_arrow(location = "tr", which_north = "false",
pad_x = unit(0.9, "cm"),
pad_y = unit(0.4, "cm"),
style = north_arrow_fancy_orienteering(
text_family = "KaiTi"
)) +
coord_sf(ylim = c(2068000, 6387786))
p
<img src="static/unnamed-chunk-4-1.png" width="672" style="display: block; margin: auto;" />
static文件夹中确实存在unnamed-chunk-4-1.png文件,所以为何仍然显示不出来呢?还请大佬指点
> sessionInfo()
R version 4.2.2 (2022-10-31 ucrt)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 22000)
Matrix products: default
locale:
[1] LC_COLLATE=Chinese (Simplified)_China.936 LC_CTYPE=Chinese (Simplified)_China.936
[3] LC_MONETARY=Chinese (Simplified)_China.936 LC_NUMERIC=C
[5] LC_TIME=Chinese (Simplified)_China.936
attached base packages:
[1] stats graphics grDevices utils datasets methods base
loaded via a namespace (and not attached):
[1] Rcpp_1.0.10 rstudioapi_0.14 knitr_1.43 servr_0.27 magrittr_2.0.3
[6] tidyselect_1.2.0 R6_2.5.1 rlang_1.1.1 fastmap_1.1.1 fansi_1.0.4
[11] dplyr_1.1.2 tools_4.2.2 xfun_0.39 utf8_1.2.3 cli_3.6.1
[16] htmltools_0.5.5 yaml_2.3.7 digest_0.6.31 tibble_3.2.1 lifecycle_1.0.3
[21] processx_3.8.1 later_1.3.1 vctrs_0.6.3 promises_1.2.0.1 ps_1.7.5
[26] glue_1.6.2 evaluate_0.21 rmarkdown_2.22 blogdown_1.17.3 pillar_1.9.0
[31] compiler_4.2.2 generics_0.1.3 jsonlite_1.8.5 httpuv_1.6.11 pkgconfig_2.0.3