我正在尝试使用 ggplot2 创建一个降序条形图并在 R 中绘制。我正在使用的数据是“a12”,它在“#Final Data frame is used below”行下由 ggplot 使用。
如果您看到下面的快照,“a1”列中的“na”值应该位于图中的第二个位置,但是它不遵循降序并被推到最后。
解决此问题的一种方法是对那里的值进行硬编码,但我不想这样做。相反,有没有一种方法可以让“na”遵循顺序而不用硬编码任何值?
注意:请不要修改“#Final Data frame issumption below”行上方的数据。我正在处理的实际数据实际上是相同的格式。请帮忙。
a1 = c("A","","B","C","D","F")
b1 = c(165,154,134,110,94,78)
a12 = data.frame(a1,b1)
a12[2, 1] = "NA"
#Final Data frame is consumed below
pp1 <<- ggplot(a12 ,
aes(x = reorder(a1, -b1),
y = b1,
text = paste("User: <br>", a1, "<br> Days: <br>", round(b1)))) +
geom_bar(stat = "identity", fill = "#3399ff" ) +
scale_y_continuous(name = "Time") +
scale_x_discrete(name = "Employee")
ggplotly(pp1, tooltip="text", height = 392)
下面的插件脚本:
a1 = c("A",NA,"B","C","D","F")
b1 = c(165,154,134,110,94,78)
a12 = data.frame(a1,b1,stringsAsFactors = FALSE)
pp1 <<- ggplot(a12 , aes(x = reorder(a1,-b1), y = b1,text=paste("User:
<br>",a1, "<br> Days: <br>", round(b1)))) +
geom_bar(stat = "identity", fill = "#3399ff" ) + scale_y_continuous(name
="Time") + scale_x_discrete(name ="Employee")
ggplotly(pp1, tooltip="text",height = 392)