相关疑难解决方法(0)

如何在X轴上强制变量的特定顺序?

我的问题与使用ggplot时绘图条的顺序有关.

EffectNames = c("Pull Back(A)","Hook(B)","Peg(C)","AB","BC","AC","ABC")
Half_Effect = c(10.4, 6.5, 5.6, 1.6, 0.98, .77, .65)
paretoData = cbind(EffectNames, Half_Effect)
paretoData = as.data.frame(paretoData)

ggplot(paretoData, aes(x = EffectNames, y = Half_Effect)) +
    geom_bar(stat = "identity") +
    geom_text(aes(label = Half_Effect), vjust = 1.5, colour = "white")
Run Code Online (Sandbox Code Playgroud)

结果:条形高度按以下顺序排列

1.6 0.65 0.77 0.98    6.5    5.6        10.4
 AB  ABC   AC   BC Hook(B) Peg(C) PullBack(A)
Run Code Online (Sandbox Code Playgroud)

在Half_Effect中看不到条形高度.如何强制EffectNames的排序以匹配Half_Effect的降序?这可以在ggplot2中完成吗?是的,它可以!见下面的解决方案

EffectNames=c( "Pull Back(A)","Hook(B)", "Peg(C)","AB", "BC", "AC", "ABC")
Half_Effect=c( 10.4,6.5,5.6,1.6,0.98,.77,.65 )
paretoData=data.frame(EffectNames, Half_Effect)
paretoData
paretoData$EffectNames = factor(paretoData$EffectNames, 
    levels=c("Pull Back(A)","Hook(B)", "Peg(C)","AB", "BC", "AC", "ABC")) …
Run Code Online (Sandbox Code Playgroud)

r ggplot2

9
推荐指数
1
解决办法
2万
查看次数

标签 统计

ggplot2 ×1

r ×1