【发布时间】:2015-12-01 04:34:54
【问题描述】:
我试图理解 Max Woolf 提供的 jupyter notebook 中的 ggplot 示例。这是命令:
plot <- ggplot(df %>% filter(num_pickups > 10), aes(x=long, y=lat)) +
geom_point(color="white", size=0.06) +
scale_x_continuous(limits=c(min_long, max_long)) +
scale_y_continuous(limits=c(min_lat, max_lat)) +
theme_map_dark()
png("nyc-taxi-3.png", w=600, h=600, res=300)
plot
dev.off()
我的问题:
-
%>%有什么作用? - 在内部,我推测
ggplot()、geom_point()、scale_x_continuous()等都是ggplot包的一部分,对吗?将plot变量加在一起时,它们如何做正确的事情? - 是否只有一个绘图上下文?
png()函数调用会生成一个 PNG 文件,但系统如何知道使用哪个ggplot()调用? - 单独运行
plot有什么作用?它是如何做到的? -
dev在哪里?除了dev.off(),还有其他dev命令吗? -
当我在 jupyter 中运行它时,结果是一个具有 400 万个点的 PDF 点,这会导致以下命令行错误消息:
[I 23:26:00.318 NotebookApp] Malformed HTTP message from 127.0.0.1: Content-Length too long
我可以抽取 1% 的点来避免这个问题吗?我该怎么做?
【问题讨论】:
-
%>%是一个管道运算符,它实际上是dplyr库(连同filter函数)的一部分,而不是来自ggplot2库。要采样 1%,dplyr库中有一个sample_fracfunction。类似于(df %>% sample_frac(0.01)) -
理想情况下,每个帖子一次应该只问一个问题,因为他们最多只能有一个被接受的答案。
-
Q4:
apropos("^dev\\.") -
@MrFlick,没错,但所有这些似乎都有关联。
-
当您在 R 中运行 png 文件时,您是否真的在 png 文件上完成了绘图?我本来希望它在该代码中为空。