这是一个阴谋"气泡"地图(即带有标记的地图,其大小映射到变量).但是,图例仅显示颜色类别,但不显示尺寸与值的关系.
library(plotly)
DF = data.frame(
Group = c("A", "B", "A", "B", "A", "C", "C"),
Value = c(100, 80, 90, 150, 120, 60, 110),
lat = c( 40, 32, 36, 44, 31, 39, 37),
long = c(-90, -100, -120, -110, -90, -80,-105))
plot_geo(DF, locationmode = 'USA-states') %>%
add_markers(y=~lat, x=~long, color=~Group, size=~Value,
marker=list(sizeref=0.1, sizemode="area")) %>%
layout(geo=list(scope = 'usa'))
Run Code Online (Sandbox Code Playgroud)
此问题显示如何控制标记的大小,但不回答如何在图例中显示这些大小.在这个和这个问题中,我们可以看到,如果每个类别只有一个与之关联的标记大小,那么图例将显示缩放到它们在气泡图中的大小的标记.但这在这里没有用.情节网站上有泡泡图和气泡图的例子,但这些都没有尺寸图例.
有没有办法将标记大小的图例添加到图表中的气泡图/地图中?上面的例子使用R api,但使用另一个plotly api(例如python)的答案也是可以接受的.
我已经在原帖中链接了这个问题,并解释了为什么它不同.但是让我试着更清楚地解释一下这个区别,因为有人已将它标记为可能重复...
链接的问题涉及由于在数据中每个类别只有一个尺寸而在图例中显示不同气泡大小的人.相比之下,该示例中的类别各自具有不同大小的气泡.链接问题中的OP想知道如何摆脱图例中的不同大小 - 而不是如何将值映射到图例中的大小.链接问题中的答案为实现这一目标提供了各种质量的解决方法.但是,在这个问题中,我已经有了一个标记大小相同的图例.我想要的是添加一个图例,该图例显示各种尺寸的气泡,每个气泡都标有该尺寸对应的值.链接帖子中没有任何内容询问或显示如何实现这一点.
dww*_*dww 10
在看到关于这个问题的一些评论表明无法做到这一点之后,我又自己做了一个,这是一种非常好的方法.
legend.sizes = seq(80, 160, 20)
ax = list(zeroline = FALSE, showline = FALSE, showticklabels = FALSE, showgrid = FALSE)
mk = list(sizeref=0.1, sizemode="area")
p.map = plot_geo(DF, locationmode = 'USA-states') %>%
add_markers(x = ~long, y = ~lat, color = ~Group, size = ~Value, marker = mk) %>%
layout(geo = list(scope = 'usa'))
p.legend = plot_ly() %>%
add_markers(x = 1, y = legend.sizes, size = legend.sizes, showlegend = F, marker = mk) %>%
layout(xaxis = ax, yaxis = list(showgrid = FALSE))
subplot(p.legend, p.map, widths = c(0.1, 0.9))
Run Code Online (Sandbox Code Playgroud)