2017-07-20 62 views
0

我試圖繪製最小和最大溫度,並與正常點圖(使用pch = 16)它看起來很正常,但是當我將繪圖類型更改爲行(使用type =「l」)時,它添加了一條線這似乎連接了第一個和最後一個值。直線被添加到線圖?

有沒有辦法擺脫連接第一個和最後一個值的直線&爲什麼會發生這種情況?

這裏的數據結構:

> y 
Source: local data frame [365 x 6] 
Groups: Month [12] 

    Month Day Tmp_min MonthDay_min Tmp_max 
    <fctr> <chr> <dbl>  <chr> <dbl>  
1  07 01  62  07/01  69  
2  07 02  61  07/02  67  
3  07 03  60  07/03  66  
4  07 04  60  07/04  64  
5  07 05  60  07/05  65  
6  07 06  61  07/06  66  
7  07 07  61  07/07  67  
8  07 08  61  07/08  69  
9  07 09  61  07/09  70  
10  07 10  62  07/10  69  

這裏的情節代碼:

plot(Tmp_min ~ as.Date(y$MonthDay_min, format='%m/%d'), data=y, type="l", 
col="turquoise", ylab="Temperature (F)", 
    main=paste("Minimum and Maximum Daily Temperatures"), xlab="Month", 
    ylim=c(0,100)) 

points(Tmp_max ~ as.Date(y$MonthDay_min, format='%m/%d'), data=y, type="l", 
    col="orange", ylim=c(0,100)) 

這裏的線圖: Minimum and maximum temperatures

以下是積分圖: enter image description here

+1

什麼是你的數據的最小值和最大值設置時間爲?我想因爲你沒有一年,你可能會有'時間旅行'的問題... – pyll

+0

最短日期是07/01,最大是06/30(從7/1/16開始,結束於6/30/17)。試圖設置,所以它開始於7/1,並在6/30結束,但無法得到的工作 - 只有陰謀1月至12月 – kslayerr

+0

我99%肯定這個問題是由於沒有一年。 – pyll

回答

1

此問題可能是由於缺少一年...嘗試添加一年。

MonthDay_min <- c('07/01', '07/02', '07/03', '07/04', '06/30') 
Tmp_min <- c(62, 70, 61, 58, 100) 
Tmp_max <- c(69, 78, 66, 64, 105) 

y <- data.frame(MonthDay_min, Tmp_min, Tmp_max) 

year <- c(2016, 2016, 2016, 2016, 2017) 

y$MonthDay_min <- paste(y$MonthDay_min, '/', year, sep = "") 

plot(Tmp_min ~ as.Date(y$MonthDay_min, format='%m/%d/%Y'), data=y, type="l", 
    col="turquoise", ylab="Temperature (F)", 
    main=paste("Minimum and Maximum Daily Temperatures"), xlab="Month", 
    ylim=c(0,100)) 

points(Tmp_max ~ as.Date(y$MonthDay_min, format='%m/%d/%Y'), data=y, type="l", 
     col="orange", ylim=c(0,100)) 
2

這大概是因爲你有相同的開始和結束日期(它們可以在不同的歲月,但你必須月+日只)。見例如:

date_seq = seq.Date(from = as.Date("2017/1/1"), to = as.Date("2018/1/1"), by = "day") 
date_seq_month_day <- format(date_seq, format="%m-%d") 
daily_white_noise = rnorm(length(date_seq)) 
dataframe <-data.frame(days = date_seq_month_day, observations = daily_white_noise) 
plot(observations ~ as.Date(date_seq_month_day, format='%m-%d'), data=dataframe, type="l", col="turquoise", ylab="Temperature (F)", main=paste("Minimum and Maximum Daily Temperatures"), xlab="Month") 

圖片將是這樣的: enter image description here

+0

這正是問題所在。我在數據上添加了多年,現在它沒有線路。謝謝您的回答! – kslayerr