ggplot2 中 qplot() 和 ggplot() 之间的选择

发布于 2024-10-22 02:21:40 字数 1431 浏览 2 评论 0原文

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

后来的我们 2024-10-29 02:21:40

对我来说,如果 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 可以节省打字时间,但您会失去很多功能。

As for me, if both qplot and ggplot are available, the criterion depends on whether data is stored in data.frame or separate variables.

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

Of course, more complex plots require ggplot(), and I usually store data in data.frame, so in my experience, I rarely use qplot.

And it sounds good to always use ggplot(). While qplot saves typing, you lose a lot of functionalities.

甩你一脸翔 2024-10-29 02:21:40

我是 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 引用。

I am new to R but just thought of sharing this.

 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()

If i change the value of the variables a and b and then plot x, it will take into account the changed values where as y would not. So while scripting it would be good to use ggplot as if you use qplot all the graphs will be equal to the latest provided references to qplot.

墨小沫ゞ 2024-10-29 02:21:40

我认为这取决于您打算使用 ggplot2 的频率和目的。

我主要使用 ggplot2 在出版物中绘制图形。这意味着我倾向于需要更高级的功能,因此我从来没有费心去了解qplot。另外,由于我每年大约有四篇出版物,所以我使用 ggplot2 的程度不够,无法真正熟悉其语法,因此专注于一个方面似乎是最佳选择。

但是,如果您每周都会获得新的数据集,那么您可能有兴趣快速探索数据集生成高质量的绘图。在这种情况下,两者都要学习。您将获得足够的语法练习,并(最终)使用 qplot 节省时间。

I think it depends on how often and for what purpose you intend to use ggplot2.

I mainly use ggplot2 for graphics in publications. This means that I tend to need the more advanced features and so I have never bothered to learn about qplot. Also, since I have around four publications a year, I'm not using ggplot2 enough to be really comfortable with the syntax and so concentrating on a single aspect seems optimal.

However, if you get new data sets each week, then you are probably interested in quickly exploring the data sets and producing good quality plot. In this case, learn both. You will get enough practice with the syntax and will (eventually) save time with qplot.

情深缘浅 2024-10-29 02:21:40

Juba,我发现可以使用 qplot 来满足最基本的绘图需求。它非常简单,默认设置也相当合理,我让我的本科生专门使用它,他们可以用有限的经验创作出优秀的情节。由 qplot [p <- qplot(etc)] 创建的绘图可以通过 ggplot2 提供的任何完整命令进行修改,这很方便(它们都以相同的方式存储,无论它们是如何创建的)。所以就我个人而言,我对大多数事情都使用 qplot,并在函数内部使用 ggplot。

Juba, I have found that one can use qplot for most basic plotting needs. It's sufficiently simple, and the defaults quite reasonable, that I have my undergraduate students use it exclusively and they can produce excellent plots with limited experience. And the plot created by qplot [p <- qplot(etc)] can be modified by any of the full commands ggplot2 provides, which is handy (they are all stored the same way, no matter how they were created). So personally I use qplot for most everything, and save ggplot for inside of functions.

倾`听者〃 2024-10-29 02:21:40
  • 如果您正在处理输入向量,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 is the simplest choice if you are dealing with input vectors
  • ggplot requires a data.frame as input data structure.

When you want to produce a histogram, qplot needs only the vector of occurrences

#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()
黄昏下泛黄的笔记 2024-10-29 02:21:40

我的另一种变体:当我直接在控制台中输入时,我使用 qplot ,而当我编写脚本时,我使用 ggplot 。但在一遍又一遍地发现我想要重新创建 15 分钟前在控制台中输入的绘图后,我现在将几乎所有这些都写入脚本中 - 所以我几乎所有时间都使用 ggplot。

(看到答案的多样性很有趣!)

One more variant from me: I use qplot when I'm typing directly into the console, and ggplot when I'm writing scripts. But after finding over and over again that I want to recreate a plot I typed into the console 15 minutes earlier, I write almost all of them into a script now - so I use ggplot almost all of the time.

(Interesting to see the diversity of answers!)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文