对于研讨会随附的在线教程,我想强调网格包的使用(特别是如何使用视口).为此,我想逐步构建一个绘图(即chunk by chunk).在每个步骤/块之间,我想包括一些普通文本,以便更详细地解释每个步骤.
我如何告诉knitr不单独评估一个块,而是开始评估上一个块结束的位置?基本上,而不是我想要添加到前一个块的结果的块的新评估.
在下面的代码中,当编织为html时,我在.html输出中得到2个图.第一个显示第一个块的结果(粉红色矩形和一些文本),第二个显示第二个块的结果(蓝色矩形).我想要实现的是两个图 - 第一个显示第一个块的结果(如上所示),第二个图显示第一个块的结果+第二个块的结果(粉红色矩形内的蓝色矩形) ).基本上,我想在R控制台中运行时重现两个代码块的行为.蓝色矩形应放在粉红色矩形中,不能单独绘制.
这是第一块
```{r grid first vp, tidy = FALSE}
library(grid)
grid.newpage()
## draw a rectangle around the root vp and provide some text
grid.rect()
grid.text("this is the root vp", x = 0.5, y = 1, just = c("centre", "top"))
vp <- viewport(x = 0.5, y = 0.5,
height = 0.5, width = 0.5,
just = c("centre", "centre"))
pushViewport(vp)
grid.rect(gp = gpar(fill = "pink"))
grid.text("this is our first vp", x = 0.5, y = …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用在闪亮的应用程序中使用 R 创建的传单地图来可视化从出发地到目的地的装运。
我想添加一个半径的圆形标记,该标记对应于来自名为main()的反应数据框的odist和ddist变量
下面是一个相关的快照和随附的代码:
output$leaflet1 <- renderLeaflet({
leaflet() %>%
addCircleMarkers(data = main(), lng = main()$Olong, lat = main()$Olat, color = 'black', fillColor = coyGreen,
radius = main()$odist, opacity = .5) %>%
addCircleMarkers(data = main(), lng = main()$Dlong, lat = main()$Dlat, color = 'black', fillColor = coyGreen,
radius = main()$ddist, opacity = .3)
})
Run Code Online (Sandbox Code Playgroud)
对于上面的例子,参数radius = main()$odist等价于radius = 50。然而,这 50 个单位似乎是任意的(圆比大的小,radius = main()$ddist = 125但随着我放大和缩小,两个圆都会放大和缩小)。我希望能够将我的圆形标记的半径设置为以英里为单位的固定半径,但是我一直无法弄清楚如何这样做。任何帮助是极大的赞赏!