i have a data frame and i want to generate a geom_tile()
plot from it , but I want the graph to be ordered not based on the alphabetic but based on a variable i
As an answer to the duplicate question, here's a solution that uses ggplot
directly and does not require changing the data.
x <- structure(list(V1 = c("a", "y", "w", "p", "v", "h", "i"),
V2 = c("r", "w", "q", "m", "l", "q", "g"),
V3 = c( "5", "2", "9", "2", "1", "3", "0")),
.Names = c("V1", "V2", "V3"), class = "data.frame",
row.names = c(NA, -8L))
x <- x[1:7,]
ggplot(x, aes(V1, V2, fill=V3)) + geom_tile() +
scale_x_discrete(limits=(x$V1)[order(x$V3)]) +
scale_y_discrete(limits=(x$V2)[order(x$V3)])