2017-07-28 102 views
0

我知道这已被问到,我不明白为什么在此图上尝试自定义轴时为什么会收到Discrete value supplied to continuous scale错误。提供给连续刻度的离散值 - 数据集没有任何因素

关于我读过的问题,说这是因为数据集中的一些变量被定义为因素,这种情况在这种情况下不会发生。

df <- data.frame(Grupo = c('Tratado', 'Controle', 'Tratado', 'Controle', 'Tratado','Controle'), 
       UF = c('SP','MG','MG','SP','BA','BA'), 
       prop = c(0.166, 0.161, 0.121, 0.112, 0.092,0.084)) 


ggplot(df,aes(x = reorder(UF,prop), y = prop)) + 
    geom_bar(aes(fill = Grupo), position = 'dodge', stat = 'identity') + 
    coord_flip() + 
    theme_classic() + 
    labs(x = 'Importância na amostra', y = 'UF') + 
    scale_x_continuous(labels = scales::percent) 

回答

2

这是最好想coord_flip为得到正确的整个情节建设过程结束时应用的可视化改造。所以prop是你的y变量,你对它应用scale_y_continuous,然后只有在最后才得到应用coord_flipprop移动到x轴。修复只是使用scale_y而不是scale_x

ggplot(df,aes(x = reorder(UF,prop), y = prop)) + 
    geom_bar(aes(fill = Grupo), position = 'dodge', stat = 'identity') + 
    coord_flip() + 
    theme_classic() + 
    labs(x = 'Importância na amostra', y = 'UF') + 
    scale_y_continuous(labels = scales::percent)