我开始使用伟大的 ggplot2 包在R中绘图,在每个情节之前我问自己的第一件事就是“好吧,我会使用 qplot 还是 ggplot ?”
ggplot2
qplot
ggplot
我知道 qplot 提供了更简单的语法,而 ggplot 允许最大的功能和灵活性,但你最常用的功能是什么,你是否有一些精确的用例?您是否仅将 qplot 和 ggplot 用于复杂图表,或者每次都使用 ggplot ?
感谢您的反馈意见 !
至于我,如果qplot和ggplot都可用,则标准取决于数据是存储在data.frame还是单独的变量中 .
x<-1:10 y<-rnorm(10) qplot(x,y, geom="line") # I will use this ggplot(data.frame(x,y), aes(x,y)) + geom_line() # verbose d <- data.frame(x, y) qplot(x, y, data=d, geom="line") ggplot(d, aes(x,y)) + geom_line() # I will use this
当然,更复杂的图需要ggplot(),我通常将数据存储在data.frame中,所以根据我的经验,我很少使用qplot .
总是使用ggplot()听起来不错 . 虽然qplot可以节省打字,但是你会失去许多功能 .
我是R的新手但只想分享这个 .
a <- c(1,2,3) b <- c(2,3,4) x <- qplot(a,b) y <- ggplot(data.frame(a,b), aes(a,b)) +geom_line()
如果我改变变量a和b的值然后绘制x,它将考虑改变的值,而y则不会 . 因此,在编写脚本时,使用ggplot会很好,就像使用qplot一样,所有图形都将等于最新提供的对qplot的引用 .
我认为这取决于你打算使用ggplot2的频率和目的 .
我主要在出版物中使用ggplot2作为图形 . 这意味着我倾向于需要更高级的功能,因此我从未费心去了解 qplot . 另外,由于我每年大约有四个出版物,我没有足够使用ggplot2语法,因此专注于单一方面似乎是最佳选择 .
但是,如果您每周都获得新数据集,那么您可能有兴趣快速浏览数据集 and ,从而生成高质量的绘图 . 在这种情况下,学习两者 . 您将获得足够的语法练习,并且(最终)使用 qplot 节省时间 .
朱巴,我发现人们可以使用qplot来满足大多数基本的绘图需求 . 这是非常简单,默认是非常合理的,我让我的本科学生专门使用它,他们可以制作出有限经验的优秀情节 . 由qplot [p < - qplot(etc)]创建的图可以通过ggplot2提供的任何完整命令进行修改,这很方便(无论它们是如何创建的,它们都以相同的方式存储) . 所以我个人使用qplot来处理大多数事情,并为函数内部保存ggplot .
如果您正在处理输入向量,
qplot是最简单的选择
ggplot需要data.frame作为输入数据结构 .
当您想要生成直方图时,qplot只需要出现的向量
#rnorm x <- rnorm(10) #ggplot2 package: qplot qplot(x, geom="histogram") #ggplot2: using straight ggplot (requires conversion to data.frame) ggplot(data.frame(x), aes(x)) + geom_histogram()
我的另一个变种:当我直接在控制台中输入时,我使用 qplot ,当我编写脚本时,我使用 ggplot . 但是经过一遍又一遍地发现我想要重新创建一个我在15分钟前输入控制台的情节,我现在几乎把所有这些都写成了一个脚本 - 所以我几乎一直都在使用ggplot .
(有趣的是看到答案的多样性!)
6 回答
至于我,如果qplot和ggplot都可用,则标准取决于数据是存储在data.frame还是单独的变量中 .
当然,更复杂的图需要ggplot(),我通常将数据存储在data.frame中,所以根据我的经验,我很少使用qplot .
总是使用ggplot()听起来不错 . 虽然qplot可以节省打字,但是你会失去许多功能 .
我是R的新手但只想分享这个 .
如果我改变变量a和b的值然后绘制x,它将考虑改变的值,而y则不会 . 因此,在编写脚本时,使用ggplot会很好,就像使用qplot一样,所有图形都将等于最新提供的对qplot的引用 .
我认为这取决于你打算使用ggplot2的频率和目的 .
我主要在出版物中使用ggplot2作为图形 . 这意味着我倾向于需要更高级的功能,因此我从未费心去了解
qplot
. 另外,由于我每年大约有四个出版物,我没有足够使用ggplot2语法,因此专注于单一方面似乎是最佳选择 .但是,如果您每周都获得新数据集,那么您可能有兴趣快速浏览数据集 and ,从而生成高质量的绘图 . 在这种情况下,学习两者 . 您将获得足够的语法练习,并且(最终)使用
qplot
节省时间 .朱巴,我发现人们可以使用qplot来满足大多数基本的绘图需求 . 这是非常简单,默认是非常合理的,我让我的本科学生专门使用它,他们可以制作出有限经验的优秀情节 . 由qplot [p < - qplot(etc)]创建的图可以通过ggplot2提供的任何完整命令进行修改,这很方便(无论它们是如何创建的,它们都以相同的方式存储) . 所以我个人使用qplot来处理大多数事情,并为函数内部保存ggplot .
如果您正在处理输入向量,
qplot是最简单的选择
ggplot需要data.frame作为输入数据结构 .
当您想要生成直方图时,qplot只需要出现的向量
我的另一个变种:当我直接在控制台中输入时,我使用
qplot
,当我编写脚本时,我使用ggplot
. 但是经过一遍又一遍地发现我想要重新创建一个我在15分钟前输入控制台的情节,我现在几乎把所有这些都写成了一个脚本 - 所以我几乎一直都在使用ggplot .(有趣的是看到答案的多样性!)