我有一个绘图,其中每条线都由变量a的值着色,而线型由变量b的值:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# some data
x = np.array([[1, 2, 0.1, 0.5], [2, 3, 0.1, 0.5],
[1, 4, 0.4, 0.8], [2, 1, 0.4, 0.8],
[1, 1, 0.1, 0.8], [2, 3, 0.1, 0.8],
[1, 3, 0.4, 0.5], [2, 3, 0.4, 0.5]])
df = pd.DataFrame(x)
df.columns = ["x", "y", "a", "b"]
df.head()
# define color scheme and line style
colors = ["C1", "C2", "C3"]
linestyles = ['-', "--", ":"]
for a_idx, a …Run Code Online (Sandbox Code Playgroud) 有没有办法在RMarkdown中隐藏打印语句?我编写了一个函数,它将有关算法学习行为的进度打印到R控制台.这是一个例子:
f <- function() {
print("Some printing")
return(1)
}
Run Code Online (Sandbox Code Playgroud)
在RMarkdown我有
```{r, eval = TRUE, results = "show"}
res = f()
print(res)
```
Run Code Online (Sandbox Code Playgroud)
这会在RMarkdown输出文件中添加"Some printing"和1.有没有办法抑制"一些打印",但保持功能的输出(这里1)?对于警告,错误和消息,有选项,但我找不到打印语句.
我有这个graphML文件,它是用 yworks yEd 创建的。
现在我想将此文件读入 R 以通过visNetwork. 但是使用该igraph::read_graph函数将文件读入 R失败:
library(igraph)
example <- igraph::read_graph("data/graphml_example.graphml", format = "graphml")
Run Code Online (Sandbox Code Playgroud)
警告信息:
1:在 read.graph.graphml(file, ...) 中:在 foreign-graphml.c:651 中:由于缺少或未知的“attr.type”属性而忽略
...
这是graphml文件:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!--Created by yFiles for HTML 2.0.1.4-->
<graphml xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns http://www.yworks.com/xml/schema/graphml.html/2.0/ygraphml.xsd " xmlns="http://graphml.graphdrawing.org/xmlns" xmlns:demostyle="http://www.yworks.com/yFilesHTML/demos/FlatDemoStyle/1.0" xmlns:bpmn="http://www.yworks.com/xml/yfiles-for-html/bpmn/2.0" xmlns:demotablestyle="http://www.yworks.com/yFilesHTML/demos/FlatDemoTableStyle/1.0" xmlns:compat="http://www.yworks.com/xml/yfiles-compat-arrows/1.0" xmlns:VuejsNodeStyle="http://www.yworks.com/demos/yfiles-vuejs-node-style/1.0" xmlns:y="http://www.yworks.com/xml/yfiles-common/3.0" xmlns:x="http://www.yworks.com/xml/yfiles-common/markup/3.0" xmlns:yjs="http://www.yworks.com/xml/yfiles-for-html/2.0/xaml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<key id="d0" for="node" attr.type="boolean" attr.name="Expanded" y:attr.uri="http://www.yworks.com/xml/yfiles-common/2.0/folding/Expanded">
<default>true</default>
</key>
<key id="d1" for="node" attr.name="NodeLabels" y:attr.uri="http://www.yworks.com/xml/yfiles-common/2.0/NodeLabels"/>
<key id="d2" for="node" attr.name="NodeGeometry" y:attr.uri="http://www.yworks.com/xml/yfiles-common/2.0/NodeGeometry"/>
<key id="d3" for="all" attr.name="UserTags" y:attr.uri="http://www.yworks.com/xml/yfiles-common/2.0/UserTags"/>
<key id="d4" …Run Code Online (Sandbox Code Playgroud) 我想仅当在 LayersControl 中单击图层并且缩放级别大于某个数字(例如 8)时才显示该图层。原因之一是,必须执行一些昂贵的计算才能获取图层坐标。我想使用图层控件而不是额外的输入按钮(出于光学原因)。
如果在图层控件中单击图层按钮,是否有办法检索该值?
这是一个简单的例子(不起作用):
library(leaflet)
library(shiny)
ui <- fluidPage(
leafletOutput("map", width = "100%", height = "700")
)
server <- function(input, output){
output$map <- renderLeaflet({
leaflet() %>% addTiles() %>% setView(10.4, 50.3, 7) %>%
addLayersControl(overlayGroups = c("marker"),
options = layersControlOptions(collapsed = FALSE))
})
observe({
# if (input$marker == TRUE){ # how to get value if layercontrol is clicked?
if (input$map_zoom > 8) {
leafletProxy("map") %>% addMarkers(lng = 10.5, lat = 50, group = "marker")
}
# }
})
}
shinyApp(ui …Run Code Online (Sandbox Code Playgroud) 默认情况下,atabsetPanel中的选项卡位于左侧。是否可以在右侧放置一个选项卡,而左侧仍然有其他选项卡?所以它看起来像这样?
library(shiny)
ui <- fluidPage(
tabsetPanel(
tabPanel("tab_left1"),
tabPanel("tab_left2"),
tabPanel("tab_right")
)
)
server <- function(input, output, session) {}
shinyApp(ui, server)
Run Code Online (Sandbox Code Playgroud) 我使用检查点包进行可重复的数据分析。有些计算需要很长时间才能计算,所以我想并行运行它们。然而,当并行运行时,检查点未在工作线程上设置,因此我收到一条错误消息“没有名为 xy 的包”(因为它没有安装在我的默认库目录中)。
我如何确保每个工作人员都使用检查点文件夹中的包版本?我尝试在 foreach 代码中设置 .libPaths 但这似乎不起作用。我还希望在全局范围内设置检查点/libPaths 一次,而不是在每个 foreach 调用中设置一次。
另一种选择可能是更改 .Rprofile 文件,但我不想这样做。
checkpoint::checkpoint("2018-06-01")
library(foreach)
library(doFuture)
library(future)
doFuture::registerDoFuture()
future::plan("multisession")
l <- .libPaths()
# Code to run in parallel does not make much sense of course but I wanted to keep it simple.
res <- foreach::foreach(
x = unique(iris$Species),
lib.path = l
) %dopar% {
.libPaths(lib.path)
stringr::str_c(x, "_")
}
Run Code Online (Sandbox Code Playgroud)
{ 中的错误:任务 2 失败 - “没有名为‘stringr’的包”
我们如何从管道工 R API 返回特定的错误代码?
我们希望返回带有消息的 400 状态代码,例如“功能 x 丢失。”。我们阅读了管道工文档,但无法弄清楚这一点。
如果我们使用stop()500 内部服务器错误,则返回且没有具体消息。
#' predict
#' @param x Input feature
#'
#' @get /predict
function(x) {
if (is.na(x)) {
# error code 400 should be returned
}
# ... # else continue with prediction
}
Run Code Online (Sandbox Code Playgroud) 我想要一个应用程序,它会在点击时产生新的点,类似于这里: R传单如何点击地图并添加一个圆圈
但标记应该是可拖动的,拖动时,坐标应该更新,显示在dataTable中.我通过mouseout事件实现了这个目标.我找到了这个解决方案,但如果我设置了两个点,它们将具有相同的坐标(从第二个点开始),并且只有在触发mouseout时才会刷新.
library(shiny)
library(leaflet)
df <- data.frame(longitude = 10.5, latitude = 48)
ui <- fluidPage(
navbarPage("Title",
tabPanel("Map",
mainPanel(leafletOutput("map", width = "100%", height = "700")
)),
tabPanel("Data", dataTableOutput("table"))
)
)
server <- function(input, output) {
output$map <- renderLeaflet({
leaflet() %>% addTiles()
})
df_r <- reactiveValues(new_data = df)
# reactive list with id of added markers
clicked_markers <- reactiveValues(clickedMarker = NULL)
observeEvent(input$map_click, {
click <- input$map_click
click_lat <- click$lat
click_long <- click$lng
clicked_markers$clickedMarker <- c(clicked_markers$clickedMarker, 1)
id <- length(clicked_markers$clickedMarker)
# Add …Run Code Online (Sandbox Code Playgroud) 我喜欢用卡片元素填充闪亮应用程序中的某个区域。当空间不足时,项目会流入下一行。这可以通过 来实现flowLayout。
但我事先不知道项目的数量,所以我需要循环创建卡片元素。但是当我在内部使用 lapply 时,flowLayout所有元素都显示在彼此下方。
如何解决这个问题,以便项目显示在彼此相邻的行中?
library(shiny)
card <- function(.img, .species, .sepal.length) {
HTML(
paste0(
'<div class="card">
<img src="', .img, '" style="width:100%">
<div class="container">
<h4><i>', .species, '</i></h4>
<hr>
<p>Sepal Length: ', .sepal.length, '</p>
</div>
</div>')
)
}
img.src <- "https://www.plant-world-seeds.com/images/item_images/000/007/023/large_square/iris_baby_blue.jpg?1500653527"
ui <- fluidPage(
tags$head(tags$style('.card {
width: 250px;
clear: both;
/* Add shadows to create the "card" effect */
box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2);
transition: 0.3s;
}
/* On mouse-over, add a deeper shadow */
.card:hover …Run Code Online (Sandbox Code Playgroud) 我有一个自定义的selectizeInput地方,我使用 options 参数指定可用的选择(以进行自定义渲染和搜索,为简单起见,在示例中省略了)。现在我陷入了设置选定值的简单任务。从文档来看,这应该可以使用该items字段,但我正在努力寻找正确的方法来设置它。
library(shiny)
library(purrr)
choices <- purrr::transpose(list(x = letters[1:5],
y = LETTERS[1:5]))
ui <- fluidPage(
selectizeInput("select", 'Select', choices = "",
selected = "",
options = list(
valueField = 'x',
labelField = 'y',
items = choices[[1]],
options = choices
))
)
shinyApp(ui, function(input, output, session) {})
Run Code Online (Sandbox Code Playgroud) r ×9
shiny ×5
leaflet ×2
bootstrap-4 ×1
checkpoint ×1
css ×1
foreach ×1
graphml ×1
html ×1
igraph ×1
javascript ×1
legend ×1
matplotlib ×1
plumber ×1
python ×1
r-future ×1
r-markdown ×1
selectize.js ×1
shinyjs ×1
visnetwork ×1