我希望在R中以剧情的方式制作一个等值线。我希望能够通过在color
中设置add_trace()
参数来选择图例中地图上显示的数据,就像在大多数情节图表中一样。然而,当然,这不适用于color
用于等值线填充,我无法确定如何以其他方式完成它。 group
参数已弃用,我group_by
没有成功。
可重复的例子:
library(data.table)
library(plotly)
sample <- data.table(Region=c("Illinois","Illinois","California","California","Texas","Texas"),
code=c("IL","IL","CA","CA","TX","TX"),
Group=c("A","B"),
Value=rnorm(6, mean=100, sd=6))
sample$hover2 <- with(sample, paste(Region, '<br>',
"Group", Group, '<br>',
"Value:", Value))
x <- list(
scope = 'usa',
projection = list(type = 'albers usa'),
showlakes = TRUE,
lakecolor = toRGB('lightblue')
)
我的第一次尝试只显示悬停在各州的Group
B。
plot_geo(sample, locationmode = 'USA-states') %>%
add_trace(type="choropleth",
z = ~Value,
text = ~hover2, locations = ~code,
color = ~Value
) %>%
layout(
title = 'Plotly map',
geo = x
)
然后,我发现您可以使用group_by
替换group
参数,但这只会产生与上面相同的情节:
sample %>%
group_by(Group) %>%
plot_geo(locationmode = 'USA-states') %>%
add_trace(type="choropleth",
z = ~Value,
text = ~hover2, locations = ~code,
color = ~Value
) %>%
layout(
title = 'Plotly map',
geo = x
)
因此,我想使用Group
变量来选择要显示的数据(Group==A
或Group==B
)。任何帮助表示赞赏。