在 jupyter 中使用 R:display_markdown 在循环中
using R in jupyter: display_markdown in loop
我需要设置一个报告文档,在其中我遍历项目并生成单独的图表。在 jupyter 中使用 R 时,我在此处阅读了有关 display_markdown 和 display_html 使用 repr 和 IRDisplay 的信息: 这完美地完成了在 a 中打印 Markdown 的工作代码单元格。但不幸的是订单被毁了。
如果我这样做:
library(IRdisplay)
library(repr)
options(repr.vector.quote=FALSE)
for (i in 1:3) {
print(paste("print before headline in run:",i))
display_markdown(paste("# Headline in run:",i))
cars <- c(i, 3, 6, 4, 9)
plot(cars)
print(paste("print after headline in run:",i))
}
jupyter 中的最终结果混淆了。标题出现在打印的线条和图形上方:
loop result of above code
R 版本 3.2.2 (2015-08-14)
如果我坚持这里定义的 IRdisplay 的显示功能,它就会工作:https://github.com/IRkernel/IRdisplay/blob/master/R/display.R 在循环期间。
library(IRdisplay)
library(repr)
for (i in 1:3) {
display(paste("print before headline in run:",i))
display_markdown(paste("# Headline in run:",i))
cars <- c(i, 3, 6, 4, 9)
png(paste("plots_",i,".png", sep=""),width=1480, height=1240, res=120)
plot(cars, main=as.character(i))
dev.off()
display_png(file=paste("plots_",i,".png", sep=""))
display(paste("print after headline in run:",i))
}
我需要设置一个报告文档,在其中我遍历项目并生成单独的图表。在 jupyter 中使用 R 时,我在此处阅读了有关 display_markdown 和 display_html 使用 repr 和 IRDisplay 的信息:
如果我这样做:
library(IRdisplay)
library(repr)
options(repr.vector.quote=FALSE)
for (i in 1:3) {
print(paste("print before headline in run:",i))
display_markdown(paste("# Headline in run:",i))
cars <- c(i, 3, 6, 4, 9)
plot(cars)
print(paste("print after headline in run:",i))
}
jupyter 中的最终结果混淆了。标题出现在打印的线条和图形上方:
loop result of above code
R 版本 3.2.2 (2015-08-14)
如果我坚持这里定义的 IRdisplay 的显示功能,它就会工作:https://github.com/IRkernel/IRdisplay/blob/master/R/display.R 在循环期间。
library(IRdisplay)
library(repr)
for (i in 1:3) {
display(paste("print before headline in run:",i))
display_markdown(paste("# Headline in run:",i))
cars <- c(i, 3, 6, 4, 9)
png(paste("plots_",i,".png", sep=""),width=1480, height=1240, res=120)
plot(cars, main=as.character(i))
dev.off()
display_png(file=paste("plots_",i,".png", sep=""))
display(paste("print after headline in run:",i))
}