我想对我的传单地图进行一些样式更改.
是否可以包括
通过htmlwidgets为R或LeafletR?
最好
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 小部件(主要是plotly和networkD3),以及将它们排列为R网格中的绘图的可能性,将它们导出为出版物的pdf图形。但是,如果我在 R 中创建一些 html 小部件对象并尝试使用gridExtra::grid.arrange()排列它们(请参见下面的最小示例),我会收到以下错误:
\n\nError in gList(list(x = list(links = list(source = c(0, 0), target = c(1, : \nonly \'grobs\' allowed in "gList"\nRun 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这是一个重现我的问题的小例子。让\xe2\x80\x99s 说我的目标是一个图表,通过将两个不同过程的能量流相互比较(带有networkD3的桑基图),将它们排列在网格中,如下所示:\n示例性排列桑基图
\n\n这将是我的代码:
\n\nlibrary(networkD3)\nlibrary(grid)\nlibrary(gridExtra)\n\n## Create simplified Data\ndfSankey <- list()\ndfSankey$nodes <- data.frame(Name …Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个简单的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) 我使用以下方法将脚本中的一些图形保存为 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 中的对象?
我是 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) 我正在尝试使用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) 目前,我正在尝试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)
为了向您概述我的数据,请点击此处截图:

我会给你更多"编码"信息,但由于我对RI这个话题很新,希望你能在这个问题上跟随我的思路.如果没有,请不要犹豫不决.
谢谢 :)
如何使用特定的行来过滤行Type,这些行位于父表或 a 的任何嵌套表中reactable,crosstalk::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 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) htmlwidgets ×10
r ×10
networkd3 ×4
shiny ×3
html ×2
javascript ×2
crosstalk ×1
css ×1
dt ×1
formatting ×1
gridextra ×1
igraph ×1
leaflet ×1
plot ×1
r-markdown ×1
reactable ×1
treemap ×1