Matplotlib X-axis timezone trouble

Peter Pearson pkpearson at nowhere.invalid
Mon Jun 29 20:56:26 EDT 2015


The following code produces a plot with a line running from (9:30, 0) to
(10:30, 1), not from (8:30, 0) to (9:30, 1) as I desire.

If I use timezone None instead of pacific, the plot is as desired, but
of course that doesn't solve the general problem of which this is a
much-reduced example.

If I use timezone US/Central, I get the same (bad) plot.

import matplotlib.pyplot as plt
import datetime
import pytz
pacific = pytz.timezone("US/Pacific")
fig = plt.figure()
plt.plot([datetime.datetime(2014, 10, 7, 8, 30, tzinfo=pacific),
          datetime.datetime(2014, 10, 7, 9, 30, tzinfo=pacific)],
         [0,1], marker="o", color="green")
fig.autofmt_xdate()
plt.show()

Does anybody know why this shift is occurring?  Is Matplotlib
confused about what timezone to use in labeling the axis?  How
would I tell it what timezone to use (preferably explicitly in
the code, not in matplotlibrc)?

Thanks.

-- 
To email me, substitute nowhere->runbox, invalid->com.



More information about the Python-list mailing list