ggplot2 Ploting time series


Example

This example illustrates how to plot a time series of temperature from a csv data file.

library(ggplot2)

# Original data not provided, see subset/plotted data below
datos.orig<-read.csv("data.csv",header=TRUE) # read csv data

# Change dates to POSIXct 
fecha<-as.data.frame(as.POSIXct(datos.orig$Fecha))

# Build a new and shorter data frame for temperature
datos.graf<-cbind.data.frame(fecha,datos.orig$Temp_Max,datos.orig$Temp_Min)
colnames(datos.graf)<-c("fecha","TMax","Tmin")

# Plot
ggplot() + 
  geom_line(data=datos.graf,aes(x=fecha, y=TMax),colour="red") +
  geom_line(data=datos.graf,aes(x=fecha, y=Tmin),colour="blue") +
  ylab("Temperature axis title") + 
  xlab(" ") +
  scale_x_datetime(
    expand=c(0,0),                           # avoid blank space around plot
    date_breaks = "1 month",                 # main axis breaks
    date_labels="%d/%m/%Y") +                # axis labels date format
  scale_y_continuous(expand=c(0,0), limits=c(-10,40)) +
  theme(axis.text.x = element_text(angle = 60, hjust = 1)) +
  ggtitle("Temperature main title") + 
  theme(plot.title = element_text(size=10, vjust=0.5, hjust=0.5))

giving this plot

enter image description here

Data used for the plot

 dput(datos.graf)
structure(list(fecha = structure(c(1262300400, 1262386800, 1262473200, 
1262559600, 1262646000, 1262732400, 1262818800, 1262905200, 1262991600, 
1263078000, 1263164400, 1263250800, 1263337200, 1263423600, 1263510000, 
1263596400, 1263682800, 1263769200, 1263855600, 1263942000, 1264028400, 
1264114800, 1264201200, 1264287600, 1264374000, 1264460400, 1264546800, 
1264633200, 1264719600, 1264806000, 1264892400, 1264978800, 1265065200, 
1265151600, 1265238000, 1265324400, 1265410800, 1265497200, 1265583600, 
1265670000, 1265756400, 1265842800, 1265929200, 1266015600, 1266102000, 
1266188400, 1266274800, 1266361200, 1266447600, 1266534000, 1266620400, 
1266706800, 1266793200, 1266879600, 1266966000, 1267052400, 1267138800, 
1267225200, 1267311600, 1267398000, 1267484400, 1267570800, 1267657200, 
1267743600, 1267830000, 1267916400, 1268002800, 1268089200, 1268175600, 
1268262000, 1268348400, 1268434800, 1268521200, 1268607600, 1268694000, 
1268780400, 1268866800, 1268953200, 1269039600, 1269126000, 1269212400, 
1269298800, 1269385200, 1269471600, 1269558000, 1269644400, 1269730800, 
1269813600, 1269900000, 1269986400, 1270072800, 1270159200, 1270245600, 
1270332000, 1270418400, 1270504800, 1270591200, 1270677600, 1270764000, 
1270850400, 1270936800, 1271023200, 1271109600, 1271196000, 1271282400, 
1271368800, 1271455200, 1271541600, 1271628000, 1271714400, 1271800800, 
1271887200, 1271973600, 1272060000, 1272146400, 1272232800, 1272319200, 
1272405600, 1272492000, 1272578400, 1272664800, 1272751200, 1272837600, 
1272924000, 1273010400, 1273096800, 1273183200, 1273269600, 1273356000, 
1273442400, 1273528800, 1273615200, 1273701600, 1273788000, 1273874400, 
1273960800, 1274047200, 1274133600, 1274220000, 1274306400, 1274392800, 
1274479200, 1274565600, 1274652000, 1274738400, 1274824800, 1274911200, 
1274997600, 1275084000, 1275170400, 1275256800, 1275343200, 1275429600, 
1275516000, 1275602400, 1275688800, 1275775200, 1275861600, 1275948000, 
1276034400, 1276120800, 1276207200, 1276293600, 1276380000, 1276466400, 
1276552800, 1276639200, 1276725600, 1276812000, 1276898400, 1276984800, 
1277071200, 1277157600, 1277244000, 1277330400, 1277416800, 1277503200, 
1277589600, 1277676000, 1277762400, 1277848800, 1277935200, 1278021600, 
1278108000, 1278194400, 1278280800, 1278367200, 1278453600, 1278540000, 
1278626400, 1278712800, 1278799200, 1278885600, 1278972000, 1279058400, 
1279144800, 1279231200, 1279317600, 1279404000, 1279490400, 1279576800, 
1279663200, 1279749600, 1279836000, 1279922400, 1280008800, 1280095200, 
1280181600, 1280268000, 1280354400, 1280440800, 1280527200, 1280613600, 
1280700000, 1280786400, 1280872800, 1280959200, 1281045600, 1281132000, 
1281218400, 1281304800, 1281391200, 1281477600, 1281564000, 1281650400, 
1281736800, 1281823200, 1281909600, 1281996000, 1282082400, 1282168800, 
1282255200, 1282341600, 1282428000, 1282514400, 1282600800, 1282687200, 
1282773600, 1282860000, 1282946400, 1283032800, 1283119200, 1283205600, 
1283292000, 1283378400, 1283464800, 1283551200, 1283637600, 1283724000, 
1283810400, 1283896800, 1283983200, 1284069600, 1284156000, 1284242400, 
1284328800, 1284415200, 1284501600, 1284588000, 1284674400, 1284760800, 
1284847200, 1284933600, 1285020000, 1285106400, 1285192800, 1285279200, 
1285365600, 1285452000, 1285538400, 1285624800, 1285711200, 1285797600, 
1285884000, 1285970400, 1286056800, 1286143200, 1286229600, 1286316000, 
1286402400, 1286488800, 1286575200, 1286661600, 1286748000, 1286834400, 
1286920800, 1287007200, 1287093600, 1287180000, 1287266400, 1287352800, 
1287439200, 1287525600, 1287612000, 1287698400, 1287784800, 1287871200, 
1287957600, 1288044000, 1288130400, 1288216800, 1288303200, 1288389600, 
1288476000, 1288566000, 1288652400, 1288738800, 1288825200, 1288911600, 
1288998000, 1289084400, 1289170800, 1289257200, 1289343600, 1289430000, 
1289516400, 1289602800, 1289689200, 1289775600, 1289862000, 1289948400, 
1290034800, 1290121200, 1290207600, 1290294000, 1290380400, 1290466800, 
1290553200, 1290639600, 1290726000, 1290812400, 1290898800, 1290985200, 
1291071600, 1291158000, 1291244400, 1291330800, 1291417200, 1291503600, 
1291590000, 1291676400, 1291762800, 1291849200, 1291935600, 1292022000, 
1292108400, 1292194800, 1292281200, 1292367600, 1292454000, 1292540400, 
1292626800, 1292713200, 1292799600, 1292886000, 1292972400, 1293058800, 
1293145200, 1293231600, 1293318000, 1293404400, 1293490800, 1293577200, 
1293663600, 1293750000), class = c("POSIXct", "POSIXt"), tzone = ""), 
    TMax = c(17.78, 16.47, 13.8, 11.34, 13.55, 12.33, 6.32, 4.43, 
    5.27, 9.78, 8.42, 9.59, 17.7, 17.3, 17.49, 13.76, 14.34, 
    12.34, 11.48, 18.13, 16.08, 15.22, 11.43, 14.19, 8.94, 11.27, 
    9.86, 12.18, 16.31, 16.26, 14.04, 12.4, 11.05, 11.91, 9.68, 
    20.32, 19.52, 15.22, 12.68, 12.33, 13.7, 7.93, 9.6, 7.67, 
    9.27, 6.3, 10.72, 17.38, 14.29, 14.34, 16.08, 12.21, 17.42, 
    18.87, 22.57, 16.61, 19.4, 15.18, 17.79, 20.08, 16.04, 11.11, 
    19.28, 14.35, 12.67, 11.13, 8.17, 12.62, 9.42, 10.72, 10.03, 
    12.87, 13.97, 14.01, 13.5, 13.85, 13.32, 14.56, 19.53, 17.24, 
    15.22, 16.12, 14.51, 16.38, 18.19, 20.64, 17.96, 15.98, 22.05, 
    17.76, 18.53, 15.9, 16.81, 20, 15.86, 15.91, 14.14, 17.83, 
    17.85, 18.86, 20.9, 13.74, 12.62, 13.97, 15.9, 16.98, 12.99, 
    16.65, 18.29, 20.52, 18.65, 17.01, 21.3, 19.91, 19.39, 22.16, 
    21.47, 21.25, 20.84, 20.08, 20.39, 20.57, 13.78, 12.69, 18.36, 
    17.23, 17.16, 19.08, 20.26, 21.81, 23.42, 19.13, 18.99, 17.95, 
    20.9, 21.35, 19.42, 19.13, 21.4, 21.8, 23.95, 21.59, 21.98, 
    22.69, 22.48, 24.33, 23.04, 24.42, 24.5, 27.92, 34.87, 25.89, 
    24.21, 24.2, 24.63, 24.95, 24.38, 24.95, 26.41, 23.89, 26.33, 
    26.27, 24.34, 24.96, 23.8, 22.51, 22.49, 24.41, 23.34, 28.63, 
    25.89, 23.34, 23.23, 23.83, 24.33, 24.55, 26.87, 28.28, 29.4, 
    28.9, 27.87, 29.29, 28.09, 29.31, 29.1, 29.98, 28.21, 28.28, 
    28.36, 29.4, 29.29, 29.51, 30.49, 30.45, 29.78, 30.24, 29.96, 
    31.12, 29.06, 29.24, 29.37, 30.07, 30.33, 29.14, 27.41, 28.92, 
    29.06, 28.71, 28.99, 29.82, 29.8, 29.05, 29.26, 29.29, 29.82, 
    30.16, 31.9, 27.43, 28.4, 29.33, 30.78, 29.72, 31.57, 29.96, 
    24.44, 26.18, 25.78, 26.57, 27.81, 28.25, 25.45, 27.91, 30.42, 
    29.24, 29.16, 29.57, 28.68, 29.78, 33.67, 31.02, 26.66, 29.42, 
    27.51, 27.3, 26.52, 26.77, 27.88, 28.28, 27.94, 31.63, 28.58, 
    29.09, 25.98, 26.16, 26.39, 26.92, 27.86, 26.55, 27, 27.1, 
    26.02, 24.63, 25.01, 26.4, 27.13, 25.05, 28.55, 24.55, 23.51, 
    20.91, 23.79, 23.95, 25.16, 25.71, 26.44, 24.76, 26.94, 24.11, 
    24.7, 24.08, 26.09, 25.71, 23.99, 22.26, 17.3, 22.54, 22.52, 
    21.1, 20.43, 19.92, 19.74, 19.19, 19.9, 20.08, 21.05, 21.46, 
    20.49, 18.02, 18.97, 19.42, 20.66, 18.7, 19.66, 21.7, 20.41, 
    22.06, 21.8, 21.91, 20.16, 19.19, 22.31, 17.58, 22.31, 20.43, 
    19.72, 20.52, 19.73, 19.02, 16.65, 18.82, 15.27, 18.01, 13.1, 
    17.27, 18.87, 16.63, 17.74, 16.38, 15.04, 13.83, 13.27, 14.47, 
    8.75, 13.13, 15.58, 13.86, 10.97, 12.44, 11.76, 20.13, 17.97, 
    21.33, 18.67, 14.47, 15.42, 14.31, 14.35, 12.71, 8.8, 9.45, 
    11.58, 12.96, 12.53, 13.77, 11.81, 13.25, 13.68, 11.97, 9.27, 
    11.79, 13.21, 13.63, 14.02, 14.61, 14.65), Tmin = c(8.98, 
    4.36, 2.88, 7.35, 8.04, 5.95, 2.87, 1.86, 1.98, 2.26, 1.1, 
    -0.26, 4.41, 6.26, 3.58, 2.94, 8.23, 9.99, 8.26, 5.48, 5.41, 
    2.92, 5.2, 7.21, 5.01, 3.8, 2.61, 0.24, 4.32, 6.46, 4.61, 
    4.66, 1.05, 0.14, 3.58, 6.72, 4.63, 7.52, 5.51, 6.73, 6.16, 
    2.31, 1.81, 2.23, 0.71, 1.4, 4.36, 7.5, 3.4, 7.28, 2.52, 
    1.72, 3.55, 5.6, 6.71, 11.23, 6.77, 8.41, 5.13, 4.32, 5.59, 
    6.64, 5.51, 8.57, 3.32, 2.93, 3.65, 3.81, 0.99, 0.87, 1.26, 
    2.71, 0.79, 0.53, 3.28, 2.38, 2.79, 4.75, 10.07, 12.15, 11.08, 
    7.91, 10.17, 10.55, 8.41, 7.64, 8.63, 7.35, 8.2, 6.62, 7.32, 
    4.79, 5.02, 9.43, 5.77, 8.48, 9.33, 8.15, 5.58, 5.64, 7.9, 
    9.65, 8.67, 9.39, 6.65, 8.48, 10.07, 10.09, 8.97, 9.02, 11.18, 
    10.71, 12.42, 9.58, 11.06, 10.13, 12.49, 10.59, 10.65, 11.87, 
    13.86, 12.34, 8.85, 9.52, 9.7, 9.84, 7.3, 7.77, 10.91, 9.66, 
    11.01, 10.12, 9.02, 8.99, 9.86, 11.28, 10.9, 10.04, 10.96, 
    10.26, 10.74, 10.92, 12.73, 10.66, 11.92, 12.37, 14.31, 14.51, 
    12.17, 19, 21.11, 19.56, 16.77, 14.38, 16.49, 15.34, 16.74, 
    16.32, 16.32, 17.81, 17.15, 15.33, 13.33, 14.62, 14.33, 12.3, 
    13.18, 13.14, 12.95, 15.8, 16.03, 13.96, 14.26, 15.28, 14.26, 
    14.67, 15.07, 15.36, 18.16, 16.07, 18.37, 17.24, 17.25, 19.28, 
    20.8, 19.15, 18.02, 18.29, 19.29, 19.06, 21.11, 19.2, 19.65, 
    20.3, 22, 22.49, 21.43, 23.19, 21.44, 21.5, 21.45, 19.77, 
    20.63, 19.59, 17.87, 20.88, 20.54, 18.77, 18.83, 20.79, 19.13, 
    21.5, 21.39, 22.06, 22.09, 20.86, 21.78, 17.13, 18.91, 18.55, 
    22.35, 22.39, 22.04, 20.96, 16.67, 16.31, 14.81, 17.23, 17.94, 
    18.79, 17.58, 16.81, 19.2, 17.84, 19.79, 20.62, 20.34, 20.35, 
    21.16, 21.01, 17.07, 16.58, 14.78, 20.23, 18.69, 17.76, 17.67, 
    18.5, 18.3, 18.83, 17.17, 16.07, 14.35, 14.85, 15.89, 16.2, 
    15.19, 15.84, 18.67, 17.14, 16.87, 13.98, 16.29, 16.82, 18.13, 
    17.97, 16.98, 15.68, 14.41, 10.73, 11.17, 9.99, 15.28, 15.51, 
    15.21, 14.49, 15.73, 11.68, 12.16, 17.96, 18.84, 15.35, 14.22, 
    11.94, 13.7, 14.55, 12.69, 10.95, 10.79, 10.28, 10.67, 6.96, 
    5.69, 8.35, 10.88, 11.14, 9.24, 10.46, 5.95, 4.72, 7.13, 
    7.72, 11.25, 13.43, 12.29, 14.97, 10.54, 9, 9.33, 7.36, 8.76, 
    7.74, 8.08, 10.15, 7.6, 8.29, 8.22, 7.85, 11.41, 8.22, 6.62, 
    7.46, 4.34, 2.77, 4.29, 8.71, 5.5, 5.02, 2.56, 3.74, 1.36, 
    1.02, 0.02, 5.78, 3.13, 1.84, 2.65, -0.39, 4.1, 6.62, 13.35, 
    12.57, 9.56, 9.16, 5.1, 4.15, 5.82, 3.99, 2.89, 0.44, -2.35, 
    1.26, 3.16, 2.62, 4.8, 5.33, 5.66, 6.99, 1.88, -2.21, -2.43, 
    -0.51, 1.76, 6.76, 6.82)), .Names = c("fecha", "TMax", "Tmin"
), row.names = c(NA, -365L), class = "data.frame")