【发布时间】:2017-11-03 03:17:38
【问题描述】:
我正在制作一个 rMarkdown flex 仪表板交互式 html 页面,我们将把它嵌入到另一个页面(一个 iFrame)中。有两张并排的小地图。地图本身、内容、比例尺、图例弹出窗口都为我们的目的正确格式化。
但是,当在地图左侧(图例所在的位置)激活弹出窗口时,它会在图例后面打开。我已经调整了一些图例的不透明度......但是当碰撞时它不足以使弹出窗口有用。降低它会使辨别刻度中的颜色变得困难,从而降低图例的可解释性。地图确实继续向右,只是没有意义的内容。
我希望找到解决这种情况的三种方法之一。
1. direct the popup to open in front of the legend
2. set the legend background to complete transparency, while leaving the legends values and bin colors at opacity of 1
3. creating a fixed location in the upper right corner where the popup opens when activated so that they never conflict.
但是,我完全愿意接受任何其他可能有用的建议。我不能做的一件事是改变它们所在的图形的整体宽度,因为它们需要放入预先确定的设定尺寸的“盒子”中。他们需要并排。
map<-leaflet(width ="100%")%>%
setView(lat=43.9625, lng = -72.5506, zoom = 7)%>%
addProviderTiles("CartoDB.Positron")%>%
addPolygons(data = plot2010,
fillColor = ~pal(plot2010@data$per100K),
smoothFactor = 0.2,
fillOpacity = 0.8,
weight = 0.2,
popup=popContent,
popupOptions= popupOptions(maxWidth ="100%", closeOnClick = TRUE))%>%
addLegend(position="topleft",
pal=pal,
values= plot2010@data$per100K,
title ='Age Adjusted Rates </br> per 100,000',
na.label = "Not Available",
opacity=.5,
labFormat = labelFormat(digits=1))
map
【问题讨论】:
-
你能不能让它重现,包括
data = plot2010和rmarkdown,... -
代码、数据和弹出 HTML 都很庞大,而且它是受保护的数据(在弹出代码中内置了抑制功能),因此不实用。此外,这不是我需要帮助的数据或代码中的缺陷。解决方案(如果 r 的传单中有一个可能没有)可能是
addLegend或popupOptions中的某种属性,它强制一个或另一个向前或向后,或者允许使用修复弹出窗口一个锚。它不应该是需要复制的东西。 -
对我来说,不必花费 5-10 分钟编写代码来重现错误,然后我才能查看真正的问题。但只有我 2 美分,...
-
我明白了,接收没有错误,您不需要创建代码...传单工作正常。我只是想要一些与它所做的不同的东西。在这种情况下,如果可能的话,它是关于格式化弹出窗口或图例。图像显示了问题。创建它的代码在这里。我只是希望有一个我还没有找到的属性来修改两个有问题的图层对象之一。
标签: r popup leaflet legend flexdashboard