在R中制作多个子图

时间:2018-12-17 15:41:04

标签: r ggplot2 plot

我对R还是很陌生,正在努力解决一些我知道应该很简单的问题。我可以制作一个散点图,但想使用数据集中针对变量per_gop绘制的每个特征制作多个子图。

我的一个散点图代码如下:

data_US@data %>%
  ggplot(aes(x=as.numeric(Hispanic_o), y=as.numeric(per_gop)))+ 
  geom_point(aes(fill=as.numeric(gop_dem), size=as.numeric(total_vote)),colour="#525252",pch=21) +
  stat_smooth(method=lm, se=FALSE, size=1, colour="#525252")+
  scale_fill_distiller(palette="RdBu", type="div", direction=1, guide="colourbar", limits=c(-1,1))+
  theme_bw()+
  theme(legend.position="none")+
  ggtitle(paste("correlation:",round(cor.test(as.numeric(data_US@data$per_gop),as.numeric(data_US@data$Hispanic_o))$estimate,2)))

我曾尝试为此使用聚集函数,但不确定如何将其正确传递给绘图代码:

到目前为止,我对多个子图的代码如下:

data_US@data %>%

  gather(c(White_alon,Black_or_A, Asian_alon,Hispanic_o,Foreign_bo,
          Veterans_2,Language_o,Homeowners,Median_val,Per_capita,Bachelors_,
          Private_no), key = "expl_var", value="la_prop") %>%

  ggplot(aes(x=??????, y=per_gop))+ 
  geom_point(aes(fill=gop_dem, size=total_vote),colour="#525252",pch=21) +
  stat_smooth(method=lm, se=FALSE, size=1, colour="#525252")+
  scale_fill_distiller("BrBG", type="div", direction=1, guide="colourbar", limits=c(-1,1))+
  facet_wrap(~expl_var, scales="free")+
  theme_bw()+
  theme(legend.position="none")+ggtitle(paste("correlation:",round(cor.test(data_US@data$per_gop,data_US@data$Persons_65)$estimate,2)))

这是我要创建的输出样式,只是没有重复的变量:

enter image description here

如果有人能指出正确的方向,我将非常感激...谢谢!

1 个答案:

答案 0 :(得分:2)

这是使用let itemsRef = self.ref.child("fridges") let thisUserQuery = itemsRef.queryOrdered(byChild: uid).queryEqual(toValue: true) thisUserQuery.observeSingleEvent(of: .value, with: { snapshot in guard let foundFridges = snapshot.children.allObjects as? [DataSnapshot] else {return} for fridge in foundFridges { let name = fridge.childSnapshot(forPath: "FridgeName").value as! String print(fridge.key, name) } }) 数据集的可复制示例。应该可以对您的数据应用相同的表格,但是在没有看到该数据示例的情况下很难确定。

mtcars

enter image description here