为什么即使我的代码正确无误,ggplot仍无法跨多行运行?

时间:2018-09-09 08:22:26

标签: r ggplot2 plot

由于某些原因,当代码分成多行时,ggplot运行很困难。例如,以下代码行将运行(但是很长且难以使用):

ggplot(mapping = aes(x = weight, y = horsepower)) + geom_point(size = 3) + labs(x = "Vehicle weight (lbs.)", y = "Engine Horsepower") + ggtitle("Weight vs. Horsepower")

但是,适合tidyverse样式指南的以下代码行将无法运行:

ggplot(mapping = aes(x = weight, y = horsepower)) + geom_point(size = 3)
+ labs(x = "Vehicle weight (lbs.)", y = "Engine Horsepower")
+ ggtitle("Weight vs. Horsepower")

我不确定自己在做什么错,我的搜索没有发现任何问题。

我得到的错误是:

Invalid argument to unary operator calls

2 个答案:

答案 0 :(得分:0)

您需要在每行末尾加+号。 像

ggplot(data,aes(x,y)) +

  geom_line()

不是

ggplot(data,aes(x,y)) 

 + geom_line()

类似地,在使用dplyr管道(%>%)时,您也需要类似的方法

答案 1 :(得分:0)

这与代码的布局和结构有关。

不要将+运算符放在每一行的开头。

相反,您需要将它们放在前几行的末尾,如下所示:

ggplot(mapping = aes(x = weight, y = horsepower)) +
    geom_point(size = 3) +
    labs(x = "Vehicle weight (lbs.)", y = "Engine Horsepower") +
    ggtitle("Weight vs. Horsepower")