qplot在循环中中断格式

时间:2015-08-12 04:06:31

标签: r for-loop ggplot2

我正在使用Knitr回应我的结果。在for循环中,我根据数字代码进行子集和打印。当我为比例添加另一个参数时,问题就出现了。这些年开始聚集在一起。 + scale_x_continuous(breaks(...))在循环外部工作。

function Greeting(message, delay) {
    this.message = message;
    setTimeout(this.blowUp, delay * 1000); 
}

Greeting.prototype.blowUp = function () {
    console.log(this.message);
};

new Greeting("Hello, world!", 1);

1 个答案:

答案 0 :(得分:1)

你的代码中有一些奇怪的东西,我不确定是什么导致你的问题,但这是一个等效的工作:

for(i in unique(cdata$temp)) {

    cdata_i <- cdata[cdata$temp == i, ]

    my.plot <- ggplot(cdata_i, aes(x = Year, y = Consumption)) +
                   geom_point() +
                   labs(x = "Year",
                        y = "Consumption (kcal)",
                        title = paste("Consumption:", prettyNum(i, ","))) +
        scale_x_continuous(breaks = seq(2010, 2100, by = 10))

    print(my.plot)

}

一些建议:

  • 不要在循环中覆盖i - i很有用(我用它来制作下面的标题)
  • 使用功能ggplot代替qplotqplot适用于快速,互动的情节,但只要您尝试执行更复杂的操作(如此),使用ggplot将为您节省很多麻烦。
  • 使用limits的{​​{1}}参数确保您的绘图都具有相同的scale_x_continuous轴。单独设置x并不能保证2010和2100出现在每个地块上。