2016-03-24 35 views
2

'da aynı grafik üzerinde üst üste bindirilmiş iki yıllık verilerle şerit şerit grafiği Minimum ve maksimum sıcaklıklarda bazı Ulusal İklim Veri Merkezi verileriyle çalışıyorum. Yapmak istediğim şey, bir şerit grafikte birbirinin üstüne iki kış değeri vermektir. . . x-ekseni, her setin ve yilin ay ve gün oldugu nihayetinde bir faktör gibi bir seydir. Aşağıda bir yıllık veri var. İkinci yılın aynı grafikte olmasını isterim. geom_ribbon fonksiyonu henüz tam olarak herhangi bir yardım yukarıdaki gibi bir grafik dönen değildir ve düşünceler takdir de aşağıda R (ggplot2)

This is one year of data above plotting min temperature to max temperature in a ribbon plot

, gerçek veri kod örneği bir dizi çok benzer:

dates <- c(20110101, 20110102, 20110103, 20110104, 20110105, 20110106, 20110107, 20120101, 20120102, 20120103, 20120104, 20120105, 20120106, 20120107) 
Tmin <- c(-5, -4, -2, -10, -2, -1, 2, -10, -11, -12, -10, -5, -3, -1) 
Tmax <- c(3, 5, 6, 4, 2, 7, 9, -1, 0, 1, 2, 1, 4, 8) 
winter <- c("ONE","ONE","ONE","ONE","ONE","ONE","ONE","TWO","TWO","TWO","TWO","TWO","TWO","TWO") 

df <- data.frame(cbind(dates, Tmin, Tmax, winter)) 
df$dates <- strptime(df$dates, format="%Y%m%d") 
df$Tmax <- as.numeric(df$Tmax) 
df$Tmin <- as.numeric(df$Tmin) 
str(df) 

ggplot(df, aes(x = dates, y =Tmax))+ 
    geom_ribbon(aes(ymin=Tmax, ymax=Tmin), fill ="darkgrey", color="dark grey") 

cevap

3

Farklı renklere sahip iki örtüşen şerit hakkında ne dersiniz?

+0

Bu gerçekten çok iyi çalışır, ancak ayarlanmış bir kış dönemi (1 Ekim - 1 Mayıs) ile gruplamak istesem, bu durum veri kümesi için geçerli değildir. – Jeff

+0

Takip eden soru, ggplot ve lubridat'ı 275 - 120'den başlayan bir x ekseni ayarlamaya zorlamanın herhangi bir yolu olabilir mi? – Jeff

+0

Ben BL çözümünü bu iş parçacığıyla birleştirerek sona erdi: http://stackoverflow.com/questions/28503262/using-lubridate-and-ggplot2-effectively-for-date-axis Kukla tarih değişkeni ekleyerek ve doldurarak Faktör tarafından bu oldukça iyi çalışıyor, zarif değil ve aslında lubridate kullanmaz, ancak çalışır. Daha zarif bir çözüm her zaman bekler, – Jeff