R ggplot条形图中y轴的顺序错误

R ggplot条形图中y轴的顺序错误,r,ggplot2,R,Ggplot2,在此条形图中,条形图的缩放方式不同。因此y轴的排列不正确(157>1342.6)。我该如何解决这个问题 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,] &l

在此条形图中,条形图的缩放方式不同。因此y轴的排列不正确(157>1342.6)。我该如何解决这个问题

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
库(重塑)
图书馆(GG2)

数据您的值列中需要有数值,目前您有系数:

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
库(重塑)
图书馆(GG2)

数据这只会将数据更改为1-6。但我希望实际值在1.8到~4000之间。@dbretschneider我更改了它,但我不知道如何更好地转换这些值。@dbretschneider我添加了图片,这是您想要的吗?是的,非常感谢。但我真的不喜欢这个解决方案。Ggplot应该自动执行此操作…@dbretschneider R中的矩阵将数据存储为一个矩阵。为了避免事后将字符转换为数字,您可以直接将数据放入
data.frame
中,而不是从
矩阵开始。示例:
dat2=data.frame(接近=c(“a”、“b”、“c”),最佳=c(1.8592.3613.1),最差=c(157.01342.63744.1))