ggplot barplot中的y轴顺序错误

问题描述:

在此条图中,条的缩放比例不同.因此,y轴的顺序不正确(157> 1342.6).我该如何解决?

in this barplot the bars are not scaled in the same way. So the y axis is not ordered properly (157 > 1342.6). How do I fix this?

library(reshape)
library(ggplot2)

data <- matrix(1:9, 3, 3)
colnames(data) <- c("approach", "best", "worst")
data[1,] <- c("a", 1.8, 157.0)
data[2,] <- c("b", 592.3, 1342.6)
data[3,] <- c("c", 613.1, 3744.1)
data <- as.data.frame(data)
data <- melt(data, id="approach")

p <- ggplot(data, aes(x=approach, y=value, fill=variable)) +
  geom_bar(position="dodge", stat="identity")
p

谢谢.

您需要在数值列中输入数值,目前您有以下因素:

You need to have numerical values in your value-column, currently you have factors:

library(reshape)
library(ggplot2)

data <- matrix(1:9, 3, 3)
colnames(data) <- c("approach", "best", "worst")
data[1,] <- c("a", 1.8, 157.0)
data[2,] <- c("b", 592.3, 1342.6)
data[3,] <- c("c", 613.1, 3744.1)
data <- as.data.frame(data)
data <- melt(data, id="approach")

data$value = as.double(levels(data$value))[data$value] # <-- converting 

p <- ggplot(data, aes(x=approach, y=value, fill=variable)) +
  geom_bar(position="dodge", stat="identity")
p