0

小さな ggplot グラフィックスを生成し、インラインで使用したいと思いますreactable。必要なプロット (行ごとに 1 つ) を生成できますが、それらをテーブルに挿入すると、壊れた画像として表示されます。ファイルパスと関係があると思いますか?

: これは最終的に、グラフィックが動的に生成される光沢のあるアプリで使用されます。reactableこれを展開可能な行機能と組み合わせる予定があるため、これを行っています。

ここにいくつかの再現可能なコードがあります

library(tidyverse)
library(palmerpenguins)
library(reactable)

#get list of species names
species <- penguins %>% select(species ) %>%
  distinct() %>% pull()

# make a simple df
plot_data <- penguins %>%
  group_by(species) %>%
  summarize(mean = mean(bill_length_mm, na.rm=T))

# for loop to generate and save plots
for(i in species){
  tmp_plot <- 
    plot_data %>%
    filter(species == i) %>%
    ggplot(aes(y=species, x=mean))+
    geom_col()+
    theme_void()
  
  file_name <- i %>% janitor::make_clean_names()
  
  ggsave(plot = tmp_plot,
         filename = paste0("plots/",file_name,".png"),
         width=4,
         height=.5)
  
}

#make a table
species %>%
  as.data.frame() %>%
  rename("species" = 1) %>%
  mutate(plot = paste0("<img src='plots/", janitor::make_clean_names(species),".png' />")) %>%
  reactable(
    columns = list(
      plot = colDef(html = TRUE,
                    resizable = TRUE,
                    show=T)
    ))

ここに私が得るものがあります: ここに画像の説明を入力

チェックと同じように、これを行うとグラフィックがロードされます。magick::image_read("plots/adelie.png")そのため、何が欠けているのかわかりません。

4

0 に答える 0