如何创建多个散点图&根据Day-type(as.factors)对它们进行不同的着色

时间:2014-01-02 16:16:18

标签: sql r graph plot

我使用sqldf函数连接两个表&创建一个最终的TABLE来制作散点图。我的决赛桌有6个变量如下: -

'data.frame':   11520 obs. of  6 variables:
 `$ DATE              : chr  "01/01/2013" "01/01/2013" "01/01/2013" "01/01/2013" ...
 `$ HOUR_NUM          : int  1 2 3 4 5 6 7 8 9 10 ...'
 `$ CONGESTION_ZONE_CD: Factor w/ 4 levels "H","N","S","W": 1 1 1 1 1 1 1 1 1 1 ...'
 `$ DAY_TYPE_CD       : Factor w/ 2 levels "WD","WE": 1 1 1 1 1 1 1 1 1 1 ...'
 `$ LOAD              : num  182 171 158 147 141 ...'
 `$ AVG_TEMP          : num  66.3 65.9 66.3 65 62.9 61.4 58.3 56.7 55.5 54.3 ...'

我使用简单的绘图函数来获取散点图。

`TOTAL_LOAD = WE_TABLE$LOAD'
`TEMP = WE_TABLE$AVG_TEMP
`plot(TEMP, TOTAL_LOAD, col="blue")

完美的作品!现在,我再次使用sqldf制作CONGESTION_ZONE_CD ='H'&的子集。再次为diff table(H)重写那个coad。北方,南方和北方同样的事情西也。所以,基本上创建了4个子集表&重写相同的代码。我的第一个问题是:'

1)我可以一次性通过某些功能输出所有四种不同类型区域的散点图吗? (我读了很多关于'by'的功能,但无法绕过它来执行此操作。)

现在,对于第二部分,当我为每个区域制作散点图时,我知道我有平日(WD)和周末(WE)。但是,

2。)有没有办法可以根据WD& amp;和颜色编码我的散点图。 WE(DAY_TYPE_CD作为因素)(让我们说蓝色代表WD& red代表WE)?

真的很想提前感谢你们!从那时起,我仍然是R& S的初学者。在我发布之前,我已经检查了散点图上的问题。我有一种感觉,这可能有一个我不知道的简单解决方案。

再次感谢。

dput(表)     结构(清单(DATE = c(“01/01/2013”​​,“01/01/2013”​​,“01/01/2013”​​,     “01/01/2013”​​,“01/01/2013”​​,“01/01/2013”​​,“01/01/2013”​​,“01/01/2013”​​,     “01/01/2013”​​,“01/01/2013”​​),HOUR_NUM = 1:10,CONGESTION_ZONE_CD =结构(c(1L,     1L,1L,1L,1L,1L,1L,1L,1L,1L),. Label = c(“H”,“N”,“S”,     “W”),class =“factor”),DAY_TYPE_CD =结构(c(1L,1L,1L,     1L,1L,1L,1L,1L,1L,1L),。标签= c(“WD”,“WE”),class =“factor”),     LOAD = c(181.801152,170.512058,157.95493,147.299889,140.645532,     139.216646,141.670543,149.122035,160.893591,181.996018     ),AVG_TEMP = c(66.3,65.9,66.3,65,62.9,61.4,58.3,56.7,     55.5,54.3)),. Name = c(“DATE”,“HOUR_NUM”,“CONGESTION_ZONE_CD”,     “DAY_TYPE_CD”,“LOAD”,“AVG_TEMP”),row.names = c(NA,10L),class =“data.frame”)

1 个答案:

答案 0 :(得分:2)

使用ggplot更好:

# not tested...
library(ggplot2)
# all on one plot
ggplot(df) + geom_point(aes(x=AVG_TEMP,y=TOTAL_LOAD,color=CONGESTION_ZONE))
#four plots
ggplot(df) + geom_point(aes(x=AVG_TEMP,y=TOTAL_LOAD)) +
   facet_wrap(~CONGESTION_ZONE)

# coloring beased on day_type
ggplot(df) + geom_point(aes(x=AVG_TEMP,y=TOTAL_LOAD, color=DAY_TYPE_CD))+
  facet_wrap(~CONGESTION_ZONE)