0

我想绘制我的时间数据,但由于某种原因我没有清楚地绘制。我使用这个功能:

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
4

1 回答 1

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 转换。

于 2015-06-19T19:56:50.783 回答