直线被添加到线图中?
Straight line being added to line plot?
我正在尝试绘制最低和最高温度,并且使用普通点图(使用 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))
这是线图:
这是点图:
此问题可能是由于缺少年份...尝试添加年份。
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))
发生这种情况的原因可能是您的开始日期和结束日期相同(年份可能不同,但您只有月 + 日)。看例子:
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")
图片会是这样的:
我正在尝试绘制最低和最高温度,并且使用普通点图(使用 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))
这是线图:
这是点图:
此问题可能是由于缺少年份...尝试添加年份。
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))
发生这种情况的原因可能是您的开始日期和结束日期相同(年份可能不同,但您只有月 + 日)。看例子:
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")
图片会是这样的: