content: import pandas as pd
  
  from bokeh.io import output_file, show
  from bokeh.models import BasicTicker, ColorBar, ColumnDataSource, LinearColorMapper, PrintfTickFormatter
  from bokeh.plotting import figure
  from bokeh.sampledata.unemployment1948 import data
  from bokeh.transform import transform
  
  output_file("unemploymemt.html")
  
  data.Year = data.Year.astype(str)
  data = data.set_index('Year')
  data.drop('Annual', axis=1, inplace=True)
  data.columns.name = 'Month'
  
  # reshape to 1D array or rates with a month and year for each row.
  df = pd.DataFrame(data.stack(), columns=['rate']).reset_index()
  
  source = ColumnDataSource(df)
  
  # this is the colormap from the original NYTimes plot
  colors = ["#75968f", "#a5bab7", "#c9d9d3", "#e2e2e2", "#dfccce", "#ddb7b1", "#cc7878", "#933b41", "#550b1d"]
  mapper = LinearColorMapper(palette=colors, low=df.rate.min(), high=df.rate.max())
  
  p = figure(plot_width=800, plot_height=300, title="US Unemployment 1948—2016",
             x_range=list(data.index), y_range=list(reversed(data.columns)),
             toolbar_location=None, tools="", x_axis_location="above")
  
  p.rect(x="Year", y="Month", width=1, height=1, source=source,
         line_color=None, fill_color=transform('rate', mapper))
  
  color_bar = ColorBar(color_mapper=mapper, location=(0, 0),
                       ticker=BasicTicker(desired_num_ticks=len(colors)),
                       formatter=PrintfTickFormatter(format="%d%%"))
  
  p.add_layout(color_bar, 'right')
  
  p.axis.axis_line_color = None
  p.axis.major_tick_line_color = None
  p.axis.major_label_text_font_size = "5pt"
  p.axis.major_label_standoff = 0
  p.xaxis.major_label_orientation = 1.0
  
  show(p)
  