ggplot2文件输出问题

Bar*_*eyC 2 r ggplot2

晚间.我开始了解ggplot2并设法创建了一堆今天的情节. 我遇到了两个障碍.第一个是自动创建绘图时输出的显示方式. 有人可以请我直截了当吗?

当我使用...手动运行图表时

ggplot(l.Exploration$Data,aes_string(x="domain",y="WP0", color="domain")) +
    geom_point(position=position_jitter(width=0.3), alpha=0.4) +
    geom_boxplot(size=1,alpha=0.9, outlier.size=1, outlier.shape=21, width=0.75, notch=TRUE) +
    facet_wrap(~Exchange, ncol=2) +
    ggtitle(plotTitle) +
    theme(plot.title=element_text(size=rel(1.5), lineheight=.9, face="bold", colour="black")) +
    xlab("Exchange") + 
    theme(axis.text.x = element_text(angle = 45, hjust = 1)) +
    ylab("Weighted Price ($USD)") 
Run Code Online (Sandbox Code Playgroud)

我得到了一个整洁的情节...... 手动发起的情节

但是,当我创建绘图作为循环的一部分并让它们自动保存时,它们看起来很糟糕(是的,我知道aes_string(...,Y="WP0")应该使用的是那个i但是我无法弄明白).

第二个问题是如何为Y正确指定aes_string.(我将把它移到另一个问题)

 l_ply(-3:3, function(i){
  print(i)
  path     <- "~/Documents/1. Dev/r/data/plot"
  filename <- paste(path,"/Story_Price",i,".png",sep="")
  yCol  <- paste("l.Exploration$Data$WP",i,sep="")

  if(i < 0)         { plotTitle <- paste("Story Publication Against Price\n[Lead = ",i,"]",sep="") 
  } else if (i==0)  { plotTitle <- paste("Story Publication Against Price",sep="") 
  } else if (i>0)   { plotTitle <- paste("Story Publication Against Price\n[Lag = ",i,"]",sep="") 
  }

  ggplot(l.Exploration$Data,aes_string(x="domain",y="WP0", color="domain")) +
    geom_point(position=position_jitter(width=0.3), alpha=0.4) +
    geom_boxplot(size=1,alpha=0.9, outlier.size=1, outlier.shape=21, width=0.75, notch=TRUE) +
    facet_wrap(~Exchange, ncol=2) +
    ggtitle(plotTitle) +
    theme(plot.title=element_text(size=rel(1.5), lineheight=.9, face="bold", colour="black")) +
    xlab("Exchange") + 
    theme(axis.text.x = element_text(angle = 45, hjust = 1)) +
    ylab("Weighted Price ($USD)") 

    dev.print(png, filename,res=600, height=1600, width=2500, units="px")
})
Run Code Online (Sandbox Code Playgroud)

奇怪的ggplot输出

Dan*_*ard 6

让我们解决大小问题,这个问题解决了你要问的两个不同问题之一.

问题: 您的参数为dev.print您提供了大约4 x 3的图形.图形无法适应此空间,因此它们会被切断.

ggplot2有自己的保存命令,ggsave这使得控制尺寸更容易.

解决方案: 尝试替换dev.print为:

ggsave(file = "filename.png", dpi = 600, width = 8, height = 6, units = "in")
Run Code Online (Sandbox Code Playgroud)

越大dpi,图形越大.ggsave作为你的ggplot2情节的一部分,测试这个以及其他参数,你会找到一个以一种可展现的方式保存的合身.