r - 使用管道在循环内生成图
问题描述
我想在循环内生成图。我需要像这样将数据参数传递给ggplot:
data <- data.frame(a = c(1,2,3), b = c(5,8,9))
data %>% ggplot(aes(x=a, y=b)) +
geom_point()
当从循环内部生成绘图时,我们需要将 ggplot 传递给print()
,但这在数据参数中管道时似乎效果不佳:
# This works
for(i in 1:2){
(ggplot(data, aes(x=a, y=b)) +
geom_point()) %>%
print()
}
# This does not
for(i in 1:2){
data %>%
(ggplot(aes(x=a, y=b)) +
geom_point()) %>%
print()
}
有没有办法让管道与 ggplot 调用周围的括号配合得很好?
解决方案
尝试data
在括号中包括:
for(i in 1:2){
(data %>%
ggplot(aes(x=a, y=b)) +
geom_point()) %>%
print()
}
推荐阅读
- css - 为什么 Flask 会加载不存在的 CSS 样式?
- java - Hibernate 无法将 UUID 插入 VARCHAR 列
- outlook-web-addins - 在 Outlook 中收到可操作消息“autoInvokeAction”时从卡体中消失
- python - Keras Dense 层在 kaggle 上显示的参数过多
- arrays - 如何修复函数 a3 以获得我的输出
- javascript - node-postgres 在通过 Promise 将 2 个查询链接在一起然后尝试结束连接时抛出连接错误
- c++ - 如何在对机器生成的代码有用的类中允许多个访问说明符
- python - 我使用了while循环,直到python抛出的随机数与输入匹配,为什么它不起作用?
- matplotlib - 不能让小提琴图表出现在子图中
- bash - 我正在编写一个 bash 脚本,但我被困在使用“jq”命令进行管道传输的地方