Path: csiph.com!optima2.xanadu-bbs.net!xanadu-bbs.net!feeder.erje.net!1.eu.feeder.erje.net!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail From: Peter Pearson Newsgroups: comp.lang.python Subject: Matplotlib X-axis timezone trouble Date: 30 Jun 2015 00:56:26 GMT Lines: 29 Message-ID: X-Trace: individual.net LiUfEEw5A+T93mG3t3+O9wx5e+bxDqLbhaJFTMNuaZOmd5enDE Cancel-Lock: sha1:NwKbm+hHGhq2eFlwCZcheHCm79g= User-Agent: slrn/pre1.0.0-18 (Linux) Xref: csiph.com comp.lang.python:93305 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.