我想將頁面左側的幾個圖與右側的描述對齊。我理想的輸出是這樣的,頁面上最多有 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("{width=200px}", "plot1.png"))
kable(dat)

我希望能夠在不必先保存 png 的情況下排列數字,但這是迄今為止我設法獲得所需輸出的最接近的結果。關于如何實作這一目標的任何想法?
uj5u.com熱心網友回復:
也許我能幫你。我使用您示例中的資料并執行以下操作:
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)
結果:

轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/354882.html
