假设我有一个看起来像这样的数据集:
编号 | 名称 | lat | long||
---|---|---|---|---|
1 | A | 45 | 100 | |
2 | B | 46 | 100 | |
3 | C | 47 | 100 | |
2000 | AAA | 48100 |
对于您的需求,我认为您不需要任何花哨的东西,也不需要在美学中动态设置。我认为最直接的方法是自己做决定,并将其设置为该情节的静态alpha。为此,如果将200除以帧中的行数,并将其夹紧,使其不超过1,则它将为100行的alpha=1
和2000行的alpha=0.1
。
pmin(1, 200 / c(10, 50, 100, 500, 1000, 2000))
# [1] 1.0 1.0 1.0 0.4 0.2 0.1
这表明帧有10、50、100。。。行的alpha值为1、1等。我在这里使用pmin
来防止它超过1,但这是因为我正在针对多个数字进行演示;否则CCD_ 4将正常工作。
例如,
output$distPlot <- renderPlotly({
req(nrow(plot_data()) > 0)
this_alpha <- min(1, 200 / nrow(plot_data()))
mymap <- ggplot(states) +
geom_sf() +
geom_point(data = plot_data(), aes(x = long, y = lat, color = number, text = name),
alpha = this_alpha) +
scale_colour_viridis_c("Number", option = 'mako', direction = 1)
ggplotly(mymap, tooltip = c("number", "text"))
})