如何更改ggplot中两个y变量的位置?
How to change the position of two y variables in ggplot?
output$plot1 <- renderPlot({
df <- df_form()
df <- data.frame(df,options = list(scrollX = TRUE))
df$DemandCharge <- as.numeric(gsub('[$,]','', df$DemandCharge))
df$NewDemandCharge <- as.numeric(gsub('[$,]','', df$NewDemandCharge))
df$SavedDemandCharge<- df$DemandCharge-df$NewDemandCharge
df$month <- format(as.Date(df$Startdate), "%Y-%m")
mydata<-melt(df,id= c("month","Startdate","Enddate","DemandCharge", "Season"))
ggplot(data = mydata, aes(x = month, y = value, fill = variable)) +
geom_bar(stat = "identity")
})
我很困惑如何在ggplot中改变两个y的位置。 "NewDemandCharge" 和 "SavedDemandCharge" 如何交换它们在图表中的位置?
您可以使用 forcats
包中的 fct_relevel()
手动重新排序因子的水平。尝试:
library(forcats)
mydata$variable <- fct_relevel(mydata$variable, "SavedDemandCharge")
这应该把"SavedDemandCharge"
放在第一个位置。但是如果没有可重现的例子就无法测试它。
output$plot1 <- renderPlot({
df <- df_form()
df <- data.frame(df,options = list(scrollX = TRUE))
df$DemandCharge <- as.numeric(gsub('[$,]','', df$DemandCharge))
df$NewDemandCharge <- as.numeric(gsub('[$,]','', df$NewDemandCharge))
df$SavedDemandCharge<- df$DemandCharge-df$NewDemandCharge
df$month <- format(as.Date(df$Startdate), "%Y-%m")
mydata<-melt(df,id= c("month","Startdate","Enddate","DemandCharge", "Season"))
ggplot(data = mydata, aes(x = month, y = value, fill = variable)) +
geom_bar(stat = "identity")
})
我很困惑如何在ggplot中改变两个y的位置。 "NewDemandCharge" 和 "SavedDemandCharge" 如何交换它们在图表中的位置?
您可以使用 forcats
包中的 fct_relevel()
手动重新排序因子的水平。尝试:
library(forcats)
mydata$variable <- fct_relevel(mydata$variable, "SavedDemandCharge")
这应该把"SavedDemandCharge"
放在第一个位置。但是如果没有可重现的例子就无法测试它。