簡體   English   中英

創建循環以編寫多個圖形

[英]Create loops to write multiple graphs

我想使用一個循環,以便為DPC的不同值創建多個圖。 我的數據如下所示:

 df <- data.frame (c ("Results", "Capacity", "Power", "LDI","LDE", "LB", "PDC","D", CostPerkWh)

作為輸出,我希望有多個帶有PDC每個唯一值的圖。 以下繪圖工作:

 plot1 <- ggplot(subset(df, df$PDC=='PDC0'),
   aes(Capacity, CostPerkWh))+ geom_point()+geom_line()
  plot2 <- ggplot(subset(df, df$PDC=='PDC0.25'),
            aes(Capacity, CostPerkWh))+ geom_point()+geom_line()
   plot3 <- ggplot(subset(df, df$PDC=='PDC0.5'),
            aes(Capacity, CostPerkWh))+ geom_point()+geom_line()
   plot4 <- ggplot(subset(df, df$PDC=='PDC0.75'),
            aes(Capacity, CostPerkWh))+ geom_point()+geom_line()
  plot5 <- ggplot(subset(df, df$PDC=='PDC1'),
            aes(Capacity, CostPerkWh))+ geom_point()+geom_line()

所有這些圖都有效,但是我想創建一個循環,因為我有很多參數,並且找到了這個示例

因此,我嘗試將其實施到自己的模型中:

#plot data
StoreResults <- "/Users/IMA/Documents/Results/"
    PDC.graph <- function(df, na.rm = TRUE, ...){
      PDClist <- unique(df$PDC) 
      for (i in seq_along(PDClist)){
        plot <- 
          ggplot(subset(df, df$PDC==PDClist[i]),
                 aes(Capacity, CostPerkWh)) + geom_point()+
          ggtitle(paste(PDClist, 'PDC, Power  \n', "Capacity \n", sep='')) + 
          geom_line() 
        print(plot)
        #save plot as PNG 
        ggsave(plot, file= paste(StoreResults, '/projection_graphs/PDCgraph/',
                                 PDClist[i], ".png", sep=''), scale=2)
      }
    }

代碼沒有給我錯誤消息,但是我看不到任何圖形,也沒有任何東西存儲到所定義的文件夾中。 如何解決呢? 還是有更好的方法來為不同的PDC值導出許多圖形?

您是否忘了運行您創建的功能? 此最低版本對我有用:

df = iris

StoreResults <- "/Users/timfaber/Desktop"
PDC.graph <- function(df, na.rm = TRUE, ...){
  PDClist <- unique(df$Species) 
  for (i in seq_along(PDClist)){

      ggplot(subset(iris, df$Species==PDClist[i]),
      aes(Sepal.Length, Sepal.Width)) + geom_point() +
      ggtitle(paste(PDClist[i], 'PDC, Power  \n', "Capacity \n", sep=''))

    #save plot as PNG 
    ggsave(plot = last_plot(), file= paste(StoreResults, '/etc/',
                             PDClist[i], ".png", sep=''), scale=2)
  }
}

PDC.Graph(df)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM