The winter (December thru March) station-based index of the NAO is based on the difference of normalized sea level pressure (SLP) between Lisbon, Portugal and Stykkisholmur/Reykjavik, Iceland since 1864. Positive values of the NAO index are typically associated with stronger-than-average westerlies over the middle latitudes, more intense weather systems over the North Atlantic and wetter/milder weather over western Europe.

Source : Hurrell North Atlantic Oscillation (NAO) Index (station-based)

Data : NAO Index Data provided by the Climate Analysis Section, NCAR, Boulder, USA, Hurrell (1995). Updated regularly. Accessed 2015-07-10

library(RCurl)
## Loading required package: bitops
library(ggplot2)

# get data
tempurl <- getURL("https://climatedataguide.ucar.edu/sites/default/files/climate_index_files/nao_station_djfm.ascii")
nao <- read.table(text=tempurl, skip=1, sep="")
colnames(nao) <- c("year", "nao")

# add sign column for colors
nao$sign <- ifelse(nao$nao < 0, "negative", "positive")

# plot graph
p <- ggplot(data=nao, aes(year, nao)) +
    geom_bar(stat="identity", aes(fill=sign)) +
    geom_smooth(span=0.15, color="black", alpha=0.3) +
    scale_fill_manual(values = c("positive"="darkorange2", "negative"="deepskyblue3")) +
    guides(fill=FALSE) +
    xlab("Year") +
    scale_x_continuous(breaks=seq(1860, max(nao$year), 20)) +
    ylab("NAO index") +
    ggtitle("Winter NAO index") +
    theme_bw()
p
## geom_smooth: method="auto" and size of largest group is <1000, so using loess. Use 'method = x' to change the smoothing method.
## Warning: Stacking not well defined when ymin != 0

ggsave(p, file = "nao_hurrell.svg", width = 20, height = 15, units = "cm")
## geom_smooth: method="auto" and size of largest group is <1000, so using loess. Use 'method = x' to change the smoothing method.
## Warning: Stacking not well defined when ymin != 0

Code used in Wikimedia commons.