GISTEMP Hovmoller diagram
% start fresh
clear; close all; clc;
% red-blue diverging colormap from colorbrewer
% http://colorbrewer2.org/#type=diverging&scheme=RdBu&n=11
redBlue = [...
103,0,31
178,24,43
214,96,77
244,165,130
253,219,199
247,247,247
209,229,240
146,197,222
67,147,195
33,102,172
5,48,97]./255;
% increase colormap resolution
redBlue = interp1(1:max(size(redBlue)),redBlue,1:(1/4):max(length(redBlue)));
% read data directly from NASA GISS
data = webread('http://data.giss.nasa.gov/gistemp/tabledata_v3/ZonAnn.Ts+dSST.csv');
% break out numerical data from table
numerical = table2array(data);
year = numerical(:,1);
dT = numerical(:,8:end);
% hand code latitude band midpoints
latitudeBand = [77 54 34 12 -12 -34 -54 -77];
% meshgrid to prepare for filled contour
[x,y] = meshgrid(year,latitudeBand);
% plot figure
figure(1); clf;
set(gcf,'Units','normalized','Position',[0.30 0.55 0.48 0.24])
[cs,h] = contourf(x,y,dT',[-2.5:0.01:2.5]);
set(h,'linestyle','none')
colormap(flipud(redBlue))
set(gca,'fontsize',13,'XMinorTick','on','YMinorTick','on')
xlabel('YEAR')
ylabel('LATITUDE')
title('GISTEMP ZONAL ANNUAL MEAN [LOTI]','fontsize',14,'fontweight','normal')
cbx = colorbar
yx = ylabel(cbx,'T ANOMALY (C, 1951-1980)','rot',-90,'fontsize',11)
set(yx,'Position',[2.6 0.0600 0])
print -depsc gistemphovmoller.eps