首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R gganimate迭代,通过该群被强调的颜色,大小,α

R gganimate迭代,通过该群被强调的颜色,大小,α
EN

Stack Overflow用户
提问于 2019-07-26 18:57:25
回答 1查看 172关注 0票数 0
代码语言:javascript
复制
> head(data8)
# A tibble: 6 x 8
  name                industry           Time  evToGi evToRev  size alpha color  
  <chr>               <chr>              <chr>  <dbl>   <dbl> <dbl> <dbl> <chr>  
1 Activision Blizzard Gaming             Dec18   5.93    2.73     6   0.1 #777777
2 Activision Blizzard Gaming             Jun15   8.17    5.23     4   0.1 #777777
3 Adobe               Software Solutions Dec18   6.87    4.33     6   0.1 #777777
4 Adobe               Software Solutions Jun15   5.69    3.81     4   0.1 #777777
5 Amazon              Ecommerce          Dec18  39.8     6.77     6   1   #0066CC
6 Amazon              Ecommerce          Jun15  12.7     2.28     4   1   #0066CC

data8 %>%
  ggplot(aes(x = evToRev, y = evToGi, colour = industry)) +
  geom_line(aes(group = name), alpha = data8$alpha, colour = "#666666") +
  geom_point(
    size = data8$size,
    alpha = data8$alpha,
    color = data8$color) +
  labs(x = 'EV/R', y = 'EV/GM', 
       title = 'Change in EV/R and EV/GM multiples for ECommerce tech giants, 2015 - 2018')

大家好,

我有下面的数据和图表,用ggplot创建,我想通过10个不同的行业中的每一个进行动画化,通过大小、颜色和alpha一次强调每个行业,而其他9个行业则是灰色的。

这与示例在这里的医生里略有不同,在该示例中,每个虹膜组一次显示。在我的示例中,我希望所有的数据总是显示出来,并且只需通过更改所关注的行业来迭代。

对如何使用gganimate做这件事有什么想法吗?我目前正在进行这方面的工作,并将根据所取得的任何进展更新该职位。

编辑:我假设这将涉及到一些重构,因为我将无法按照当前的方式硬编码大小、alpha和颜色。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-26 19:37:05

我很快就测试出来了,而且不像你提到的那样起作用。希望这足以让你朝着正确的方向前进。

代码语言:javascript
复制
industries <- unique(data8$industry) %>% paste(collapse = ",")

data8 <- data8 %>% 
  mutate(ind = industries) %>% 
  separate_rows(., ind, sep = ",") %>% 
  mutate(color = ifelse(ind == industry, "#0066CC", "#777777"),
     alpha = ifelse(ind == industry, 1, .1))

p <- ggplot(data8, aes(x = evToRev, y = evToGi, colour = industry)) +
  geom_line(aes(group = name, alpha = alpha), colour = "#666666") +
  geom_point(aes(alpha = alpha,
         color = color),
  size = data8$size,
  ) +
scale_alpha_identity() +
scale_color_identity() +
labs(x = 'EV/R', y = 'EV/GM', 
    title = 'Change in EV/R and EV/GM multiples for ECommerce tech giants, 2015 - 2018') 

anim <- p + transition_states(ind)

anim
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57225661

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档