Repository: bokeh/bokeh

Issue:
Use full year for ticks in default month-year scale
## Version Info 
OS: Ubuntu 16.04
Browser: Firefox 59.02
Python: 3.6.4
Notebook: 5.4.1
JupyterLab: 0.32.1 
Bokeh: 0.12.15

## Expected & Observed Behavior 
Expected: A time series is expected to show the correct dates.
Observed: The dates on x-axis is shifted. 

## Screenshot
As the screenshot below shows that last data point is displayed as 5/18, however, it is really 5/1. 

![image](https://user-images.githubusercontent.com/824507/39611020-de87436e-4f86-11e8-91c3-0f674d3dc915.png)

## Code to Reproduce the Plot
Save the raw data as a CSV file named `imprsn_sp.csv` and run the code below to reproduce the plot.
```
import pandas as pd
from bokeh.plotting import figure, output_notebook, show
import numpy as np
output_notebook()

imprsn_sp = pd.read_csv('imprsn_sp.csv', parse_dates=[0])
p = figure(
    title = 'Impression ...', 
    x_axis_label = 'Date', 
    x_axis_type = 'datetime',
    y_axis_label = 'Number of Impressions (M)', 
    tools = 'hover,pan,wheel_zoom,box_zoom,reset,previewsave'
)
p.line(imprsn_sp.imprsn_dt, imprsn_sp.num_imprsn/1E6, line_color = 'blue')

show(p)
```
## Raw Data
The raw data in case someone want to reproduce the issue. 
```
imprsn_dt,num_pblshr,num_imprsn
2018-05-01,374,1822731
2018-04-30,382,1860567
2018-04-29,361,1653600
2018-04-27,338,1376836
2018-04-26,382,1832301
2018-04-25,363,1823290
2018-04-24,373,1820426
2018-04-23,377,1876337
2018-04-22,350,1711616
2018-04-21,344,1661363
2018-04-20,351,1417396
2018-04-19,371,1787230
2018-04-18,397,1807315
2018-04-17,368,1716911
2018-04-16,355,1794757
2018-04-15,349,1654755
2018-04-14,349,1538527
2018-04-13,357,1601591
2018-04-12,370,1584983
2018-04-11,354,1664271
2018-04-10,353,1690022
2018-04-09,343,1721639
2018-04-08,317,1609815
2018-04-07,305,1574076
2018-03-24,300,1631803
2018-03-23,308,1654943
2018-03-22,308,1683215
2018-03-21,307,1676143
2018-03-20,309,1713939
2018-03-19,304,1783808
2018-03-18,294,1633616
2018-03-17,292,1593332
2018-03-16,286,1609950
2018-03-15,291,1595846
2018-03-14,300,1623130
2018-03-13,308,1672773
2018-03-12,288,1732755
2018-01-23,230,161472
2018-01-21,218,159652
2018-01-20,203,147969
2018-01-19,212,142995
2018-01-18,215,156639
2018-01-17,217,180816
2018-01-16,210,192823
2018-01-15,211,205139
2018-01-14,201,180394
2018-01-13,206,176148
2018-01-12,207,162187
2018-01-11,200,147638
2018-01-10,204,145318
2018-01-09,206,148838
2018-01-08,205,181091
2018-01-07,194,147253
2018-01-06,191,134441
2018-01-05,188,131477
2018-01-04,182,128223
2018-01-03,188,130936
2018-01-02,185,135495
2018-01-01,186,129768
2017-12-31,169,115957
2017-12-30,176,139261
2017-12-29,181,146514
2017-12-28,186,160695
2017-12-27,177,157422
2017-12-26,180,148421
2017-12-25,165,120821
2017-12-24,170,112755
2017-12-23,174,128280
2017-12-22,172,133442
2017-12-21,180,144793
2017-12-20,179,145028
2017-12-19,179,144163
2017-12-18,183,223087
2017-12-17,180,304449
2017-12-16,168,242005
2017-12-15,160,251128
2017-12-14,170,288536
2017-12-13,177,319051
2017-12-12,169,258684
2017-12-11,168,315527
2017-12-10,169,327549
2017-12-09,159,257098
2017-12-08,171,200245
2017-12-07,173,229297
2017-12-06,160,221218
2017-12-05,160,201792
2017-12-04,154,178062
2017-12-03,159,179816
2017-12-02,158,160380
2017-12-01,158,163185
2017-11-30,161,164757
2017-11-29,147,338088
2017-11-28,154,375150
2017-11-27,148,243320
2017-11-26,147,214499
2017-11-25,146,196019
2017-11-24,142,209342
2017-11-23,145,196639
2017-11-22,148,207043
2017-11-21,149,215018
2017-11-20,140,234117
2017-11-19,137,211450
2017-11-18,129,180555
2017-11-17,134,192224
2017-11-16,132,200765
2017-11-15,131,206639
2017-11-14,128,213446
2017-11-13,127,215485
2017-11-12,122,214991
2017-11-11,121,192504
2017-11-10,128,211017
2017-11-09,114,229921
2017-11-08,108,225980
2017-11-07,112,181125
2017-11-06,101,145095
2017-11-05,102,137774
2017-11-04,96,117117
2017-11-03,97,126198
2017-11-02,101,124601
2017-11-01,96,156434
2017-10-31,96,288985
2017-10-30,93,160838
2017-10-29,77,146259
2017-10-28,71,129205
2017-10-27,75,144396
2017-10-26,46,102092
2017-10-25,36,52880
2017-10-24,38,76253
2017-10-23,38,80420
2017-10-22,36,94066
2017-10-21,36,79996
2017-10-19,36,92209
```



Discussion:
Please include all the information asked for in the template, most especially versions, and *complete* code, I.e how you generated the data frame specifically
@bryevdv I'm sorry that the initial issue didn't follow the template. I've updated it to include information as you required. 
As a quick sanity check I looked at the dates in e.g. this example:

https://bokeh.pydata.org/en/latest/docs/gallery/candlestick.html

And things are showing up as they should. So we will have to figure out what weirdness is going on in your specific example
Oh, @dclong the "18" in the tick label is not the day, it is the year, ie. "May 2018". 

If you zoom in, you can see that the dates do match up as expected:

<img width="696" alt="screen shot 2018-05-05 at 11 11 33" src="https://user-images.githubusercontent.com/1078448/39666224-1ca81370-5055-11e8-848d-bdaef02dcb77.png">


This has come up twice recently now, I will leave this issue open as a task to make a better default format for this scale. If you'd like use a different format in the mean time, you can read about how to configure datetime tick formatters here:

https://bokeh.pydata.org/en/latest/docs/reference/models/formatters.html#bokeh.models.formatters.DatetimeTickFormatter
Thank you, @bryevdv!

Resolving patch:
diff --git a/bokeh/models/formatters.py b/bokeh/models/formatters.py
--- a/bokeh/models/formatters.py
+++ b/bokeh/models/formatters.py
@@ -594,7 +594,7 @@ class DatetimeTickFormatter(TickFormatter):
 
     months       = List(String,
                         help=_DATETIME_TICK_FORMATTER_HELP("``months``"),
-                        default=['%m/%Y', '%b%y']).accepts(String, lambda fmt: [fmt])
+                        default=['%m/%Y', '%b %Y']).accepts(String, lambda fmt: [fmt])
 
     years        = List(String,
                         help=_DATETIME_TICK_FORMATTER_HELP("``years``"),


Test patch: