标签: htmlwidgets

是否可以在R和/或LeafletR的htmlwidgets中包含自定义css?

我想对我的传单地图进行一些样式更改.

是否可以包括

  • 风格元素或
  • css文件的自定义路径

通过htmlwidgets为R或LeafletR?

最好

r leaflet htmlwidgets

5
推荐指数
1
解决办法
1802
查看次数

在Rmarkdown中使htmlwidgets移动友好

rmarkdown的默认选项是设置fig.width = 12.如果可能的话,我希望自动调整移动设备的宽度.

我在http://akdata.org/misc/leafletmobile上主持以下Rmarkdown

---
title: "Untitled"
output: html_document

---


```{r}      
  library(leaflet)
  leaflet() %>% addTiles()
``
Run Code Online (Sandbox Code Playgroud)

当我使用chrome devtools中的不同移动设备玩时,它将调整到屏幕的宽度.我有一个我正在测试的物理三星Galaxy 5.

html css r r-markdown htmlwidgets

5
推荐指数
1
解决办法
642
查看次数

如何在网格中排列 html 小部件图以导出为 pdf?

我想结合丰富的 html 小部件(主要是plotly和networkD3),以及将它们排列为R网格中的绘图的可能性,将它们导出为出版物的pdf图形。但是,如果我在 R 中创建一些 html 小部件对象并尝试使用gridExtra::grid.arrange()排列它们(请参见下面的最小示例),我会收到以下错误:

\n\n
Error in gList(list(x = list(links = list(source = c(0, 0), target = c(1,  : \nonly \'grobs\' allowed in "gList"\n
Run Code Online (Sandbox Code Playgroud)\n\n

我搜索了 \xe2\x80\x9cconverting html widgets to grobs 或plots\xe2\x80\x9d 以便能够将它们排列在网格中,但找不到任何相关信息。我可以采用漫长的手动方式,首先使用htmlwidgets::saveWidget()将 html 小部件保存为网站,然后使用webshot::webshot()将其转换为 pdf,并使用矢量图形编辑器手动排列图形(例如墨景)。但尽管需要手动操作,所有转换步骤都可能会导致质量下降。

\n\n

也许我可以以某种方式用表格或列排列 LaTeX R-Markdown 文档中的图形,并指定纸张尺寸以适合我的绘图。但不知怎的,这感觉不像是一个理想的解决方案,因为我可能想将我的图表动态地排列在多个列和行中,添加标题等,这将使 LaTeX/knitr 中的排列变得相当复杂。

\n\n

因此,在我开始手动将所有内容编织在一起之前,我想问您是否知道更好的方法来排列一些 html 小部件图并将它们导出到 R 中的 pdf 中?

\n\n
\n\n

最小的例子

\n\n

这是一个重现我的问题的小例子。让\xe2\x80\x99s 说我的目标是一个图表,通过将两个不同过程的能量流相互比较(带有networkD3的桑基图),将它们排列在网格中,如下所示:\n示例性排列桑基图

\n\n

这将是我的代码:

\n\n
library(networkD3)\nlibrary(grid)\nlibrary(gridExtra)\n\n## Create simplified Data\ndfSankey <- list()\ndfSankey$nodes <- data.frame(Name …
Run Code Online (Sandbox Code Playgroud)

r gridextra networkd3 htmlwidgets

5
推荐指数
1
解决办法
2217
查看次数

forceNetwork 不是零索引

我正在尝试创建一个简单的forceNetwork,但该图不会呈现。我不断收到以下警告:

Warning message: It looks like Source/Target is not zero-indexed. This is required in JavaScript and so your plot may not render.

我该如何解决?请注意,这simpleNetwork很好用,所以问题似乎出在我如何指定我的数据上。

library(igraph)
library(networkD3)
set.seed(42)
temp<-data.frame(source=c(1,2,3,4),target=c(2,3,4,4))#csv[1:500,]

links<-data.frame(source=temp$source,target=temp$target)
g<-graph.data.frame(cbind(temp$source,temp$target), directed=T)
nodes<-data.frame(name=1:length(V(g)),group=1)

forceNetwork(Links=links,Nodes = nodes,
             Source = 'source', Target = 'target', 
             NodeID = 'name', Group = 'group')

simpleNetwork(temp)
Run Code Online (Sandbox Code Playgroud)

javascript r igraph networkd3 htmlwidgets

5
推荐指数
1
解决办法
1787
查看次数

打开,阅读 html 小部件?

我使用以下方法将脚本中的一些图形保存为 html 对象:

 htmlwidgets::saveWidget(p,"graph.html"))
Run Code Online (Sandbox Code Playgroud)

是否可以将此对象读回 R 中?我在 htmlwidgets 文档中找不到任何内容:https ://cran.r-project.org/web/packages/htmlwidgets/htmlwidgets.pdf

用于打开或读回 R 中的对象?

html r htmlwidgets

5
推荐指数
0
解决办法
578
查看次数

带有 d3treeR 的交互式树图未在 Shiny 中渲染

我是 Shiny 的新手,我正在尝试使用d3TreeR HTML Widget来显示交互式树图

我使用了以下代码,它在 R 中完美运行:

library(readxl)
budget_map <- read_excel(path = 'Trader Dashboard Data Prep Sample.xlsx',sheet='v2',col_names = TRUE)
library(treemap)
budget_treemap <- treemap(budget_map,index=c("Sales Agency","Agency","Advertiser"),vSize="Booked Revenue Net",vColor="Sales Agency",palette = "Set1",type="categorical",title="Australia Budget Map",fontsize.title=22)
library(d3treeR)
d3tree2(budget_treemap)
Run Code Online (Sandbox Code Playgroud)

我试图让它在 Shiny 中渲染并使用以下代码:

library(shiny)
library(readxl)
library(treemap)
library(htmlwidgets)
library(data.tree)
library(d3treeR)
budget_map <- read_excel(path = 'C:/Users/rahul/Desktop/30k foot view/Trader Dashboard Data Prep Sample.xlsx',sheet='v2',col_names = TRUE)
budget_treemap <- treemap(budget_map,index=c("Sales Agency","Agency","Advertiser"),vSize="Booked Revenue Net",vColor="Sales Agency",palette = "Set1",type="categorical")

ui <- fluidPage(
  d3tree2Output("au_budget_map")
)


server <- function(input,output){
    output$au_budget_map <- renderD3tree2({budget_treemap})
}

shinyApp(ui …
Run Code Online (Sandbox Code Playgroud)

r treemap shiny htmlwidgets

5
推荐指数
1
解决办法
3175
查看次数

Shiny&networkD3响应节点点击

我正在尝试使用networkD3和shiny来可视化一些数据.我希望在单击图表中的节点时执行操作.我正在使用对齐网络,如下面的代码所示.

forceNetwork可以选择在单击节点时进行"clickaction"响应.但是,我无法为diagonalNetwork找到类似的选项,还有另一种方法可以实现吗?

谢谢你的帮助!

#### Load necessary packages and data ####
library(shiny)
library(networkD3)

data(MisLinks)
data(MisNodes)

hc <- hclust(dist(USArrests), "ave")
URL <- paste0(
  "https://cdn.rawgit.com/christophergandrud/networkD3/",
  "master/JSONdata//flare.json")



## Convert to list format
Flare <- jsonlite::fromJSON(URL, simplifyDataFrame = FALSE)


#### Server ####
server <- function(input, output) {

  output$simple <- renderDiagonalNetwork({
    diagonalNetwork(List = Flare, fontSize = 10, opacity = 0.9)
  })  


  output$force <- renderForceNetwork({
    forceNetwork(Links = MisLinks, Nodes = MisNodes, Source = "source",
                 Target = "target", Value = "value", NodeID = "name",
                 Group = "group", opacity …
Run Code Online (Sandbox Code Playgroud)

javascript r shiny networkd3 htmlwidgets

5
推荐指数
1
解决办法
896
查看次数

使用R中的NetworkD3包创建Sankey图

目前,我正在尝试networkD3按照Chris Grandrud(https://christophergandrud.github.io/networkD3/)的说明创建一个包含交互式的Sankey .
我不明白的是表格式,因为他只使用两列来可视化更多的过渡.更具体地说,我有一个包含四列代表4年的数据集.这些列中有不同的酒店名称,而每行代表一个客户,这四年内被"跟踪".

    URL <- paste0(
        "https://cdn.rawgit.com/christophergandrud/networkD3/",
        "master/JSONdata/energy.json")
    Energy <- jsonlite::fromJSON(URL)

    sankeyNetwork(Links = Energy$links, Nodes = Energy$nodes, Source = "source",
         Target = "target", Value = "value", NodeID = "name",
         units = "TWh", fontSize = 12, nodeWidth = 30)
Run Code Online (Sandbox Code Playgroud)

为了向您概述我的数据,请点击此处截图:

SampleDataScreenshot

我会给你更多"编码"信息,但由于我对RI这个话题很新,希望你能在这个问题上跟随我的思路.如果没有,请不要犹豫不决.

谢谢 :)

plot r sankey-diagram networkd3 htmlwidgets

5
推荐指数
2
解决办法
3746
查看次数

如何使用反应式过滤父表和嵌套表中的行?

如何使用特定的行来过滤行Type,这些行位于父表或 a 的任何嵌套表中reactablecrosstalk::filter_checkbox如下所示

dat <- structure(list(Manufacturer = c(
  "Acura", "Acura", "Audi", "Audi",
  "BMW", "Buick", "Buick", "Buick", "Buick", "Cadillac", "Cadillac",
  "Chevrolet", "Chevrolet", "Chevrolet", "Chevrolet", "Chevrolet",
  "Chevrolet", "Chevrolet", "Chevrolet", "Chrysler", "Chrysler",
  "Chrysler", "Dodge", "Dodge", "Dodge", "Dodge", "Dodge", "Dodge",
  "Eagle", "Eagle", "Ford", "Ford", "Ford", "Ford", "Ford", "Ford",
  "Ford", "Ford", "Geo", "Geo", "Honda", "Honda", "Honda", "Hyundai",
  "Hyundai", "Hyundai", "Hyundai", "Infiniti", "Lexus", "Lexus",
  "Lincoln", "Lincoln", "Mazda", "Mazda", "Mazda", "Mazda", "Mazda",
  "Mercedes-Benz", "Mercedes-Benz", "Mercury", "Mercury", "Mitsubishi",
  "Mitsubishi", "Nissan", …
Run Code Online (Sandbox Code Playgroud)

r htmlwidgets crosstalk reactable

5
推荐指数
1
解决办法
906
查看次数

如何在 R Shiny 中更改 DT Datable 标题的背景和文本颜色

我有一个数据表,我想在 R Shiny 中显示,但我希望标题列的列名称为红色,文本为白色。使用 formatStyles(),我只能指定整个列,而不仅仅是标题名称行。您建议如何解决这个问题?


library(shiny)
library(dplyr)


ui <- fluidPage(

    sidebarLayout(
        sidebarPanel(
        ),
    mainPanel(
        DT::DTOutput("table")
    )
))

server <- function(input, output) {
    data <- tibble(name = c("Justin", "Corey", "Sibley"),
           grade = c(50, 100, 100))
    
    output$table <- renderDT({
        datatable(data)
    })

    
}

# Run the application 
shinyApp(ui = ui, server = server)
Run Code Online (Sandbox Code Playgroud)

formatting r shiny dt htmlwidgets

5
推荐指数
1
解决办法
3923
查看次数