在情节合唱中设置group_by

时间:2016-10-04 15:12:27

标签: r plotly

我希望在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==AGroup==B)。任何帮助表示赞赏。

0 个答案:

没有答案