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 1087126812,I_kwDOAMm_X85AzD0c,6102,Regression in datetime handling in plots,1562854,closed,0,,,10,2021-12-22T19:31:53Z,2022-01-09T20:33:29Z,2022-01-09T20:33:29Z,CONTRIBUTOR,,,,"#5794 (ea2886136dec7047186d) introduced a regression in whether or not pandas datetime converters are loaded or Matplotlib's. This leads to basic Matplotlib-native plotting failing https://github.com/matplotlib/matplotlib/issues/22023 Previously matplotlib's converters were loaded, now pandas are being loaded, despite the downstream user not ever using xarray's plotting utilities. ## test code ```python import matplotlib.pyplot as plt import numpy as np import xarray as xr import matplotlib.units as munits print(munits.registry) ds = xr.Dataset({""time"": [np.datetime64('2000-01-01'), np.datetime64('2000-01-02')], ""sir"": [0, 1]}) fig, ax = plt.subplots() # crashes: ax.scatter(ds['time'], ds['sir']) plt.show() ``` #### Previously: ``` {... : , : , : } ``` #### Now: ``` {... : , : , : , : , : , : } ``` As you can see, the pandas converters have been loaded without any use of pandas nor xarray plotting utilities. ### Suggestion Of course if xarray plotting is loaded, you should use and register what date converters you would like (I'd suggest `matplotlib.dates.ConciseConverter`, but your mileage may vary). But I think if the user is just trying to use xarray to load a data set, they should not have decisions made for them about the converter (or any other plotting functions), and to prevent confusion they should get the default matplotlib converter since it handles `datetime64` just fine. I think it could also be argued that this is a pandas issue, in that just importing pandas should not automatically register their converters unless their plotting is used. ping @TomAugspurger because I thought that was the plan, but apparently things changed. And it indeed appears their converter has a bug in it for matplotlib scatter. Thanks! ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/6102/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,completed,13221727,issue