[英]R Markdown - Description next to plot in PDF output
我想将页面左侧的几个图与右侧的描述对齐。 我理想的输出是这样的,页面上最多有 5 个图:
这些图是动态的,基于用户在闪亮应用程序中的输入。 这是我如何生成绘图的示例(目前使用 fsmb 作为雷达图函数,但考虑使用 ggplot2)。
library(fmsb)
library(knitr)
opts_chunk$set(echo=FALSE)
df <- data.frame(
row.names=c("Max", "Min", "Data"),
rbind(
rep(5, 6),
rep(1, 6),
sample(1:5, 6, replace=TRUE)
)
)
radarchart(
df,
vlabels=c(1,2,3,4,5,6),
caxislabels=c(1,2,3,4,5)
)
图表很好,但我挣扎的地方是对齐方式。 我试图将图表另存为 png 并将其添加到表格中,但它根本无法正常工作。
png("plot1.png", width=400, height=400)
radarchart(
df,
vlabels=c(1,2,3,4,5,6),
caxislabels=c(1,2,3,4,5)
)
dev.off()
dat <- data.frame(
Figure=c("1"),
Description=c("Short description"))
dat$Figure <- c(sprintf("![](%s){width=200px}", "plot1.png"))
kable(dat)
我希望能够在不必先保存 png 的情况下排列数字,但这是迄今为止我设法获得所需输出的最接近的结果。 关于如何实现这一目标的任何想法?
也许我能帮你。 我使用您示例中的数据并执行以下操作:
op <- par(mar=c(1, 2, 2, 1),mfrow=c(2, 2))
radarchart(
df,
vlabels=c(1,2,3,4,5,6),
caxislabels=c(1,2,3,4,5)
)
plot(NA, xlim = c(-5, 5), ylim=c(-5,5), axes = F, ann = F)
text(x = 0, y = 0, "good plot\nanother line\ngood plot", cex = 2)
radarchart(
df,
vlabels=c(1,2,3,4,5,6),
caxislabels=c(1,2,3,4,5)
)
plot(NA, xlim = c(-5, 5), ylim=c(-5,5), axes = F, ann = F)
text(x = 0, y = 0, "your plot description\nmay be on 2 lines", cex = 2)
par(op)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.