我是新手,所以这可能是超级基础。 当我运行这段代码
Dplot <- qplot(x = diamonds$carat, y = diamonds$price, color = diamonds$color) +
ggtitle("An A+ plot") +
xlab("carat") +
ylab("price") +
geom_point()
Dplot <- Dplot + facet_wrap(vars(diamonds$clarity))
Dplot
我收到一条错误消息,内容为:
gList(list(x = 0.5,y = 0.5,width = 1,height = 1,just = “中央”, : 在“ gList”中仅允许使用“ grobs”
我已尝试使用Google谷歌搜索功能,但无法找出问题所在。
答案 0 :(得分:3)
除最基本的情况外,我建议不要使用qplot
。它会教bad $
中应避免的不良习惯(例如使用ggplot
)。
我们可以通过以下方式进行切换:将数据帧diamonds
传递到ggplot()
,然后将映射只放在列名而不是aes()
的{{1}}内。只要我们也省略了diamonds$
,那么facet_wrap
就可以正常工作:
diamonds$
请注意,代码实际上较短,因为我们不需要一直输入Dplot = ggplot(diamonds, aes(x = carat, y = price, color = color)) +
ggtitle("An A+ plot") +
xlab("carat") +
ylab("price") +
geom_point()
Dplot + facet_wrap(vars(clarity))
Dplot + facet_wrap(~ clarity) # another option
!
diamonds$
选项可以正常工作,更传统的是,您会看到公式界面使用了vars(clarity)
。 ~ clarity
选项是新颖的,如果要编写一个函数,将要作为小平面使用的列的名称存储在变量中,则该选项会更好一些。