File tree Expand file tree Collapse file tree 3 files changed +26
-4
lines changed
doc/api/next_api_changes/deprecations Expand file tree Collapse file tree 3 files changed +26
-4
lines changed Original file line number Diff line number Diff line change 1+ ``Line2D ``
2+ ~~~~~~~~~~
3+ When creating a Line2D or using `.Line2D.set_xdata ` and `.Line2D.set_ydata `,
4+ passing x/y data as non sequence is deprecated.
Original file line number Diff line number Diff line change @@ -1275,7 +1275,14 @@ def set_xdata(self, x):
12751275 x : 1D array
12761276 """
12771277 if not np .iterable (x ):
1278- raise RuntimeError ('x must be a sequence' )
1278+ # When deprecation cycle is completed
1279+ # raise RuntimeError('x must be a sequence')
1280+ _api .warn_deprecated (
1281+ since = 3.7 ,
1282+ message = "Setting data with a non sequence type "
1283+ "is deprecated since %(since)s and will be "
1284+ "remove %(removal)s" )
1285+ x = [x , ]
12791286 self ._xorig = copy .copy (x )
12801287 self ._invalidx = True
12811288 self .stale = True
@@ -1289,7 +1296,14 @@ def set_ydata(self, y):
12891296 y : 1D array
12901297 """
12911298 if not np .iterable (y ):
1292- raise RuntimeError ('y must be a sequence' )
1299+ # When deprecation cycle is completed
1300+ # raise RuntimeError('y must be a sequence')
1301+ _api .warn_deprecated (
1302+ since = 3.7 ,
1303+ message = "Setting data with a non sequence type "
1304+ "is deprecated since %(since)s and will be "
1305+ "remove %(removal)s" )
1306+ y = [y , ]
12931307 self ._yorig = copy .copy (y )
12941308 self ._invalidy = True
12951309 self .stale = True
Original file line number Diff line number Diff line change 2020import matplotlib .pyplot as plt
2121import matplotlib .transforms as mtransforms
2222from matplotlib .testing .decorators import image_comparison , check_figures_equal
23+ from matplotlib ._api .deprecation import MatplotlibDeprecationWarning
2324
2425
2526def test_segment_hits ():
@@ -91,9 +92,12 @@ def test_invalid_line_data():
9192 mlines .Line2D ([], 1 )
9293
9394 line = mlines .Line2D ([], [])
94- with pytest .raises (RuntimeError , match = 'x must be' ):
95+ # when deprecation cycle is completed
96+ # with pytest.raises(RuntimeError, match='x must be'):
97+ with pytest .warns (MatplotlibDeprecationWarning ):
9598 line .set_xdata (0 )
96- with pytest .raises (RuntimeError , match = 'y must be' ):
99+ # with pytest.raises(RuntimeError, match='y must be'):
100+ with pytest .warns (MatplotlibDeprecationWarning ):
97101 line .set_ydata (0 )
98102
99103
You can’t perform that action at this time.
0 commit comments