如何针对所有其他列绘制一个数据框列

时间:2017-03-06 04:00:48

标签: r ggplot2

我有一个像这样的数据框。

Heat_map <- c(10, 11, 12, 13, 14)
city1 <-  c(0,1,1,1,0)
city2 <-  c(0,1,0,0,1)
city3 <-  c(0,1,1,0,0)
city4 <-  c(1,1,0,0,0)

city_df <- cbind(Heat_map, city1, city2, city3, city4)
city_df <- as.data.frame(city_df)

我试图绘制(ggplot或任何类型的图)来显示第一列之间的关系,即heat_map和其余列。我已经花了足够的时间和实验但是我找不到合适的方法来绘制使用所有列对同一数据帧中的一列进行绘图。

1 个答案:

答案 0 :(得分:2)

这是一个经典的&#34;广泛到长期&#34;问题:如果城市在一个列(名为city)中,并且每个城市的值在另一列(value)中,则更容易绘制。您可以使用gather包中的tidyr来执行此操作。

然后,您可以使用ggplot2facet_wrapfacet_grid为每个城市制作图表。

library(tidyr)
library(ggplot2)

city_df %>% 
  gather(city, value, -Heat_map) %>% 
  ggplot(aes(Heat_map, value)) + geom_point() + facet_wrap(~city)

结果: enter image description here