2015-06-19 106 views
0

我想绘制我的时间数据,但由于某种原因,我没有弄清楚。我使用这个功能:如何绘制3个不同区域的时间数据?

plot(temperature~month*area, data=mydata) 

但是这个功能不区分区域。

我的例子是:

  area month temperature 
       d1 november 18,723 
       d1 november 16,963 
       d1 november 22,753 
       d1 november 30,495 
       d1 november 26,818 
       d1 november 22,944 
       i1 november 18,485 
       i1 november 17,368 
       i1 november 16,844 
       i1 november 24,171 
       i1 november 28,072 
       i1 november 28,766 
       i1 november 25,744 
       i1 november 22,920 
       c1 november 17,272 
       c1 november 16,225 
       c1 november 16,058 
       c1 november 22,920 
       c1 november 28,642 
       c1 november 26,256 
       d1 december 17,558 
       d1 december 28,468 
       d1 december 21,318 
       i1 december 21,246 
       i1 december 20,103 
       c1 december 27,776 
       c1 december 21,652 
       c1 december 19,793 
       c1 december 18,628 
       c1 december 17,796 
+0

“区域”是什么意思?您是否正在寻找ggplot软件包中的方面?你现在正在绘制的是day_month_year变量乘以面积变量。我猜这些都是使得这里不是很有用的因素,但没有可重复的数据集很难说。 – cr1msonB1ade

回答

1

你的数据是有点奇怪。你只有两个日期。你们三个地区的每个地区都有这些日期的多个临时地点。使用线条图是没有意义的。以下代码提供了按区域分组的散点图。它使用库ggplot2按组进行绘图。

dat <- read.table(
    header=TRUE, text='area day_month_year temperature 
d1 09_11_2013 18,723 
d1 09_11_2013 17,558 
d1 09_11_2013 16,963 
d1 09_11_2013 22,753 
d1 09_11_2013 28,468 
d1 09_11_2013 30,495 
d1 09_11_2013 26,818 
d1 09_11_2013 22,944 
d1 10_11_2013 21,318 
i1 09_11_2013 18,485 
i1 09_11_2013 17,368 
i1 09_11_2013 16,844 
i1 09_11_2013 24,171 
i1 09_11_2013 28,072 
i1 09_11_2013 28,766 
i1 09_11_2013 25,744 
i1 09_11_2013 22,920 
i1 10_11_2013 21,246 
i1 10_11_2013 20,103 
c1 09_11_2013 17,272 
c1 09_11_2013 16,225 
c1 09_11_2013 16,058 
c1 09_11_2013 22,920 
c1 09_11_2013 27,776 
c1 09_11_2013 28,642 
c1 09_11_2013 26,256 
c1 09_11_2013 21,652 
c1 10_11_2013 19,793 
c1 10_11_2013 18,628 
c1 10_11_2013 17,796') 

# convert temp to numeric data 
dat$temp=as.numeric(gsub(',','.',dat$temp)) 

# convert day_month_year to date and add to dataframe 
dat$date=as.Date(dat$day_month_year,"%d_%m_%Y") 

# scatter plot by group 
library(ggplot2) 
ggplot(dat, aes(x=date, y=temp, colour=area, group=area)) + geom_point() 

我注意到,您已更改日期的格式在您的数据。该解决方案使用您的原始格式。如果您想继续使用月份名称的新格式,则需要修改as.Date转换。

+0

谢谢rbroberg –

+0

是的,我改变了,但第一种格式是正确的,我只是试图简化我的数据。我将使用你的解决方案@rbroberg。非常感谢你。 –

+1

@rbroberg;看一下'read.table'的'dec'参数,它可以节省输入'gsub'的次数 – user20650