リーフレットとシャイニーを使用してRでWebマップを作成しています。マップの右上にabsolutePanelがあります。これは、凡例の位置を正方形のコーナーではなく、absolutePanelの左側に配置したいと考えています。R内のリーフレットにカスタム絶対位置を持つ凡例を作成するShiny
リーフレットは、addLegendタグの「位置」属性の有効な入力として四隅の1つだけを受け入れます。以前はカスタムCSSタグをUIページのヘッダーに追加していましたが、凡例をフォーマットするためのCSSドキュメントを調べていますが、リーフレットで作成された凡例の位置を実際にオーバーライドするための適切なスクリプトを思いつくことができません。私が知る限り、位置は.leaflet .legend
スクリプトのどこかに設定されています。
これは、Rスクリプトで生成されたWebドキュメントを変更するのではなく、これを解決することをお勧めします。この問題は他のどこでも解決されていません。私はこれのための解決策を調理するよりも、CSSと光沢に優れた人がいますか?前もって感謝します。
単純化し、再現可能なサンプルスクリプトは、伝説に絶対位置を割り当てることで(間違った)の試行で:
library(shiny)
library(leaflet)
data = data.frame(x = c(1,2,3), y = c(1,2,3))
ui <- fluidPage(
tags$head(tags$style(
type = "text/css",
"#controlPanel {background-color: rgba(255,255,255,0.8);",
".leaflet .legend {
position = absolute;
top = 10px;
right = 100px;}"
)),
leafletOutput(outputId = "map", width="100%"),
absolutePanel(top = 10, right = 10, height = 100, id = "controlPanel",
strong("Put Legend To the Left of Me"))
)
server <- function(session, input, output) {
output$map <- renderLeaflet({
leaflet() %>%
addMarkers(data = data, lat = data$x, lng = data$y) %>%
addLegend(colors = data$x, labels = data$y, title = "Legend")
})
}
shinyApp(ui, server)
、それは私が探していたものです。ありがとうございました。マージンを調整して潜在的な問題が発生していますか(地図上に物事が現れる方法に関して)?これを試してみると、以前と同じように他のものがすべて現れているように見えます。 – BGroza
@BGroza凡例パネルはかなり独立しているようです。他のすべては同じになります。面白い人は、いくつかの極端な値を試してみて、問題が発生していないかどうか確認してください。 –