以这个如何以编程方式在四开中生成选项卡集面板?中的示例,我已经在动态渲染的选项卡集中建立了渲染图表。
我希望用交互式 echarts 替换 ggplots,它独立于四开文档工作。
见下面代码:
---
title: "Panel tabs"
format:
html:
embed-resources: true
---
```{r echo=F, warning=F, message=F}
library(tidyverse)
library(echarts4r)
data <- iris
species <- list()
for(i in unique(data$Species)){
species[[paste(i)]] <- data %>%
filter(Species == i) %>%
e_charts(Sepal.Length) %>%
e_line(Sepal.Width)
# species[[paste(i)]] <- data %>%
# filter(Species == i) %>%
# ggplot(aes(x = Sepal.Length, y = Sepal.Width)) +
# geom_point() +
# theme_bw(base_size = 18)
#
#
#
# species[[paste(i)]] <- data %>%
# filter(Species == i) %>%
# plotly::plot_ly(x = ~ Sepal.Length, y = ~ Sepal.Width)
}
```
# Iris Plots
::: {.panel-tabset}
```{r}
#| results: asis
#| fig-width: 14
#| fig-height: 6
iwalk(species, ~ {
cat('## ', .y, '\n\n')
print(.x)
cat('\n\n')
})
```
:::
此四开本文档通过闪亮应用程序上的下载处理程序渲染,但以这种方式渲染或直接通过 qmd 渲染都不起作用。
我已经注释掉了有效的 ggplot2 代码。当我尝试渲染 echarts4r 时,代码要么根本不渲染,要么返回 Echart 的 html 组成。我怀疑这与
cat()
功能有关,但找不到解决方案(或者是否有解决方案)。任何想法将不胜感激!
---
title: "Panel tabs"
format:
html:
embed-resources: true
---
```{r}
#| echo: false
#| warning: false
#| message: false
library(tidyverse)
library(echarts4r)
data <- iris
species <- list()
for(i in unique(data$Species)) {
species[[paste(i)]] <- data %>%
filter(Species == i) %>%
e_charts(Sepal.Length) %>%
e_line(Sepal.Width)
}
```
# Iris Plots
```{r}
#| include: false
e_chart()
```
::: {.panel-tabset}
```{r}
#| results: asis
iwalk(species, ~ {
cat('## ', .y, '\n\n')
print(htmltools::tagList(.x))
cat('\n\n')
})
```
:::