我有一个时间序列数据框:
专栏" Contas.Resultado"按照" Valor"的升序正确排序列。
我的问题是:
当我绘制图表时,图例没有以正确的顺序出现,因此,某些geom_area图与其他图重叠。
ggplotly(tbl1 %>% ggplot(aes(Ano, Valor)) +
geom_area(aes(fill = Contas.Resultado),
position = position_dodge(width = 0), stat = "identity") +
scale_x_yearmon() +
xlab("") +
ylab("R$ (milhões)"))
我使用这个得到了正确的结果:
df$Contas.Resultado <- factor((df$Contas.Resultado),
levels = c("Faturamento", "Receita Líquida",
"Resultado Bruto", "EBTIDA R$", "EBTI",
"Resultado Líquido"))
如果有人知道解决这个问题的简单方法,我将不胜感激
答案 0 :(得分:0)
尝试使用Hadley Wickam的tidyverse中的forcats package。您应该可以将月份作为级别订购。来自Hadley网站的可能解决方案:
month_levels <- c(
"Jan", "Feb", "Mar", "Apr", "May", "Jun",
"Jul", "Aug", "Sep", "Oct", "Nov", "Dec"
)
factor(x1, month_levels)
#> [1] Dec Apr Jan Mar
#> Levels: Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
这对你有用吗?