Looks like you want to build them in some order based on 50% of the cost of each square? Let's take another data file as an example:
temp <- structure(list( Grade = c("U","G", "F", "E", "D", "C", "B", "A", "A*"), n = c(20L, 13L, 4L, 13L, 36L, 94L, 28L, 50L, 27L)), .Names = c("Grade", "n"), class = c("tbl_df", "data.frame"), row.names = c(NA, -9L))
If we build this, we will see that the labels are confused (A comes before A *).
library(ggplot2) ggplot(temp) + geom_bar(stat="identity", aes(x=Grade, y=n))

We could order it manually, as shown above, or we could decide to make estimates in order of the number of students receiving each class. It can also be done manually, but it would be better if we could automate this:
First we order a dataframe:
library(dplyr) temp <- temp %>% arrange(n)
Then we change the levels inside the Grade column to represent the data order.
temp$Grade <- as.vector(temp$Grade)
Running the same chart command shown above gives you data plotted using another ordered x axis.
