home / github / issues

Menu
  • GraphQL API
  • Search all tables

issues: 1613054013

This data as json

id node_id number title user state locked assignee milestone comments created_at updated_at closed_at author_association active_lock_reason draft pull_request body reactions performed_via_github_app state_reason repo type
1613054013 I_kwDOAMm_X85gJUA9 7593 Plotting with time-zone-aware pd.Timestamp axis not possible 25102059 open 0     6 2023-03-07T09:32:49Z 2023-05-06T03:24:46Z   CONTRIBUTOR      

What is your issue?

When trying to use the plot-method on a DataArray that contains a time axis with time zone aware pandas Timestamps a TypeError is raised.

As a minimal example: python import pandas as pd import numpy as np import xarray as xr time = pd.date_range("2000-02-02 08:00+01:00","2000-02-02 09:00+01:00", 121) val = np.arange(121)**2 xar = xr.DataArray(val, coords=dict(time=time)) xar.plot() Results in:

TypeError: Plotting requires coordinates to be numeric, boolean, or dates of type numpy.datetime64, datetime.datetime, cftime.datetime or pandas.Interval. Received data of type object instead.

While matplotlib is capable of handling it. Not in a nice way, but at least without crashing: python import matplotlib.pyplot as plt plt.figure() plt.plot(xar.time, xar.values)

I tried that the same result can be achieved, if in the method issuing the TypeError https://github.com/pydata/xarray/blob/830ee6de0d545c997df84fe69b0ac2334bde1d1b/xarray/plot/utils.py#L669-L681 also accepts the pandas DatetimeTZDtype as a dtype, i.e. it is added to the tuple numpy_types.

If there are no objections I would issue a PR extending the tuple.

Related observations

_ensure_plottable removal

I found discussions on removing the _ensure_plottable method entirely (#5762, #5763), which was not followed through but would likely also solve this issue.

Pandas

Pandas itself is able to even plot the time stamps in a nice way. So, maybe in the long-term it might make sense to use these capabilities. python xar.to_series().plot()

{
    "url": "https://api.github.com/repos/pydata/xarray/issues/7593/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
    13221727 issue

Links from other tables

  • 1 row from issues_id in issues_labels
  • 6 rows from issue in issue_comments
Powered by Datasette · Queries took 0.457ms · About: xarray-datasette