This docs on this page refers to a PREVIOUS VERSION. For the latest stable release, go to https://docs.bokeh.org/

Archived docs for versions <= 1.0.4 have had to be modified from their original published configuration, and may be missing some features (e.g. source listing)

All users are encourage to update to version 1.1 or later, as soon as they are able.

Bokeh Docs

unemployment

< les_mis | back to Gallery | stocks >

          inspect
          • Hover Tool
            from math import pi
            
            from bokeh.models import HoverTool
            from bokeh.plotting import ColumnDataSource, figure, show, output_file
            from bokeh.sampledata.unemployment1948 import data
            
            data['Year'] = [str(x) for x in data['Year']]
            
            years = list(data['Year'])
            months = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]
            
            data = data.set_index('Year')
            
            # this is the colormap from the original NYTimes plot
            colors = ["#75968f", "#a5bab7", "#c9d9d3", "#e2e2e2", "#dfccce",
                      "#ddb7b1", "#cc7878", "#933b41", "#550b1d"]
            
            # Set up the data for plotting. We will need to have values for every
            # pair of year/month names. Map the rate to a color.
            month = []
            year = []
            color = []
            rate = []
            for y in years:
                for m in months:
                    month.append(m)
                    year.append(y)
                    monthly_rate = data[m][y]
                    rate.append(monthly_rate)
                    color.append(colors[min(int(monthly_rate)-2, 8)])
            
            source = ColumnDataSource(
                data=dict(month=month, year=year, color=color, rate=rate)
            )
            
            TOOLS = "hover,save,pan,box_zoom,wheel_zoom"
            
            p = figure(title="US Unemployment (1948 - 2013)",
                       x_range=years, y_range=list(reversed(months)),
                       x_axis_location="above", plot_width=900, plot_height=400,
                       tools=TOOLS)
            
            p.grid.grid_line_color = None
            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 = pi/3
            
            p.rect("year", "month", 1, 1, source=source,
                   color="color", line_color=None)
            
            p.select_one(HoverTool).tooltips = [
                ('date', '@month @year'),
                ('rate', '@rate'),
            ]
            
            output_file('unemployment.html', title="unemployment.py example")
            
            show(p)      # show the plot