0

我在 R 中使用 plotly 库。

我想要两个对称的条形图。像这样的东西:

在此处输入图像描述

但是我有 :

在此处输入图像描述

plot_ly(x= customer_age_sex$POP,y=customer_age_sex$AGE,color=customer_age_sex$CIVILITE) %>% 
 add_bars(orientation = 'h')

如何将橙色条形图的方向更改为与另一个对称?

非常感谢你的帮助。

4

1 回答 1

1

这里有一个很好的例子。请注意,这要求其中一种性别的值为负数。如果不是这种情况,您可以执行以下操作:

set.seed(1)
age <- rep(1:90, 2)
sex <- rep(c('Monsieur', 'Madame'), each = 90)
pop <- rep(seq(100,11),2) + runif(180,0,10)

df <- data.frame(age, sex, pop) %>%
  mutate(abs_pop = pop) %>%
  mutate(pop =ifelse(sex=='Monsieur',-pop,pop))

df %>% 
  plot_ly(x= ~pop, y=~age,color=~sex) %>% 
  add_bars(orientation = 'h', hoverinfo = 'text', text = ~abs_pop) %>%
  layout(bargap = 0.1, barmode = 'overlay',
         xaxis = list(tickmode = 'array', tickvals = c(-1000, -500, 0, 500, 1000),
                      ticktext = c('1000', '500', '0', '500', '1000')))

在此处输入图像描述

希望这可以帮助!

于 2018-01-30T20:44:02.500 回答