Title: [Bug]: stem complaining about PyTorch's Tensor · Issue #30216 · matplotlib/matplotlib · GitHub
Open Graph Title: [Bug]: stem complaining about PyTorch's Tensor · Issue #30216 · matplotlib/matplotlib
X Title: [Bug]: stem complaining about PyTorch's Tensor · Issue #30216 · matplotlib/matplotlib
Description: Bug summary stem breaks when I specify the horizontal components with a PyTorch Tensor. Code for reproduction import torch from matplotlib import pyplot as plt x = torch.arange(10.) y = (x * .2 * torch.pi).sin() plt.plot(x, y) # works pl...
Open Graph Description: Bug summary stem breaks when I specify the horizontal components with a PyTorch Tensor. Code for reproduction import torch from matplotlib import pyplot as plt x = torch.arange(10.) y = (x * .2 * t...
X Description: Bug summary stem breaks when I specify the horizontal components with a PyTorch Tensor. Code for reproduction import torch from matplotlib import pyplot as plt x = torch.arange(10.) y = (x * .2 * t...
Opengraph URL: https://github.com/matplotlib/matplotlib/issues/30216
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"[Bug]: stem complaining about PyTorch's Tensor","articleBody":"### Bug summary\n\n`stem` breaks when I specify the horizontal components with a PyTorch Tensor.\n\n### Code for reproduction\n\n```Python\nimport torch\nfrom matplotlib import pyplot as plt\n\nx = torch.arange(10.)\ny = (x * .2 * torch.pi).sin()\nplt.plot(x, y) # works\nplt.stem(x, y) # breaks\nplt.stem(x.numpy(), y) # works\n```\n\n### Actual outcome\n\n```python\nTypeError: min() received an invalid combination of arguments - got (out=NoneType, axis=NoneType, ), but expected one of:\n * ()\n * (Tensor other)\n * (int dim, bool keepdim = False)\n didn't match because some of the keywords were incorrect: out, axis\n * (name dim, bool keepdim = False)\n didn't match because some of the keywords were incorrect: out, axis\n```\n\n\u003cdetails\u003e\u003csummary\u003eFull traceback\u003c/summary\u003e\n\u003cp\u003e\n\n```python\n---------------------------------------------------------------------------\nTypeError Traceback (most recent call last)\nCell In[50], line 7\n 5 y = (x * .2 * torch.pi).sin()\n 6 plt.plot(x, y) # works\n----\u003e 7 plt.stem(x, y) # breaks\n 8 plt.stem(x.numpy(), y) # works\n\nFile [/opt/homebrew/Caskroom/miniconda/base/envs/book/lib/python3.13/site-packages/matplotlib/pyplot.py:4085](http://localhost:8888/opt/homebrew/Caskroom/miniconda/base/envs/book/lib/python3.13/site-packages/matplotlib/pyplot.py#line=4084), in stem(linefmt, markerfmt, basefmt, bottom, label, orientation, data, *args)\n 4074 @_copy_docstring_and_deprecators(Axes.stem)\n 4075 def stem(\n 4076 *args: ArrayLike | str,\n (...) 4083 data=None,\n 4084 ) -\u003e StemContainer:\n-\u003e 4085 return gca().stem(\n 4086 *args,\n 4087 linefmt=linefmt,\n 4088 markerfmt=markerfmt,\n 4089 basefmt=basefmt,\n 4090 bottom=bottom,\n 4091 label=label,\n 4092 orientation=orientation,\n 4093 **({\"data\": data} if data is not None else {}),\n 4094 )\n\nFile [/opt/homebrew/Caskroom/miniconda/base/envs/book/lib/python3.13/site-packages/matplotlib/__init__.py:1521](http://localhost:8888/opt/homebrew/Caskroom/miniconda/base/envs/book/lib/python3.13/site-packages/matplotlib/__init__.py#line=1520), in _preprocess_data.\u003clocals\u003e.inner(ax, data, *args, **kwargs)\n 1518 @functools.wraps(func)\n 1519 def inner(ax, *args, data=None, **kwargs):\n 1520 if data is None:\n-\u003e 1521 return func(\n 1522 ax,\n 1523 *map(cbook.sanitize_sequence, args),\n 1524 **{k: cbook.sanitize_sequence(v) for k, v in kwargs.items()})\n 1526 bound = new_sig.bind(ax, *args, **kwargs)\n 1527 auto_label = (bound.arguments.get(label_namer)\n 1528 or bound.kwargs.get(label_namer))\n\nFile [/opt/homebrew/Caskroom/miniconda/base/envs/book/lib/python3.13/site-packages/matplotlib/axes/_axes.py:3216](http://localhost:8888/opt/homebrew/Caskroom/miniconda/base/envs/book/lib/python3.13/site-packages/matplotlib/axes/_axes.py#line=3215), in Axes.stem(self, linefmt, markerfmt, basefmt, bottom, label, orientation, *args)\n 3214 marker_x = locs\n 3215 marker_y = heads\n-\u003e 3216 baseline_x = [np.min(locs), np.max(locs)]\n 3217 baseline_y = [bottom, bottom]\n 3219 markerline, = self.plot(marker_x, marker_y,\n 3220 color=markercolor, linestyle=markerstyle,\n 3221 marker=markermarker, label=\"_nolegend_\")\n\nFile [/opt/homebrew/Caskroom/miniconda/base/envs/book/lib/python3.13/site-packages/numpy/_core/fromnumeric.py:3301](http://localhost:8888/opt/homebrew/Caskroom/miniconda/base/envs/book/lib/python3.13/site-packages/numpy/_core/fromnumeric.py#line=3300), in min(a, axis, out, keepdims, initial, where)\n 3189 @array_function_dispatch(_min_dispatcher)\n 3190 def min(a, axis=None, out=None, keepdims=np._NoValue, initial=np._NoValue,\n 3191 where=np._NoValue):\n 3192 \"\"\"\n 3193 Return the minimum of an array or minimum along an axis.\n 3194 \n (...) 3299 6\n 3300 \"\"\"\n-\u003e 3301 return _wrapreduction(a, np.minimum, 'min', axis, None, out,\n 3302 keepdims=keepdims, initial=initial, where=where)\n\nFile [/opt/homebrew/Caskroom/miniconda/base/envs/book/lib/python3.13/site-packages/numpy/_core/fromnumeric.py:84](http://localhost:8888/opt/homebrew/Caskroom/miniconda/base/envs/book/lib/python3.13/site-packages/numpy/_core/fromnumeric.py#line=83), in _wrapreduction(obj, ufunc, method, axis, dtype, out, **kwargs)\n 82 return reduction(axis=axis, dtype=dtype, out=out, **passkwargs)\n 83 else:\n---\u003e 84 return reduction(axis=axis, out=out, **passkwargs)\n 86 return ufunc.reduce(obj, axis, dtype, out, **passkwargs)\n\nTypeError: min() received an invalid combination of arguments - got (out=NoneType, axis=NoneType, ), but expected one of:\n * ()\n * (Tensor other)\n * (int dim, bool keepdim = False)\n didn't match because some of the keywords were incorrect: out, axis\n * (name dim, bool keepdim = False)\n didn't match because some of the keywords were incorrect: out, axis\n```\n\n\u003c/p\u003e\n\u003c/details\u003e \n\n### Expected outcome\n\nMost of the time, matplotlib is capable of plotting tensors without issues.\n\n### Additional information\n\nPyTorch version: 2.7.0\n\n### Operating system\n\n_No response_\n\n### Matplotlib Version\n\n3.10.3\n\n### Matplotlib Backend\n\nmodule://matplotlib_inline.backend_inline\n\n### Python version\n\n3.13.5\n\n### Jupyter version\n\n4.4.3\n\n### Installation\n\nconda","author":{"url":"https://github.com/Atcold","@type":"Person","name":"Atcold"},"datePublished":"2025-06-25T21:01:29.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":6},"url":"https://github.com/30216/matplotlib/issues/30216"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:2f8e9dac-b9f2-2841-3de5-9ff92b868237 |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | 9452:15606D:7CFE33:A7ACC2:6A51A80D |
| html-safe-nonce | ff4c80f8c6b6ab40d80e2be32d4ec9a0a0a1f2e2460f93a18dc6c87fd5d1ef5b |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI5NDUyOjE1NjA2RDo3Q0ZFMzM6QTdBQ0MyOjZBNTFBODBEIiwidmlzaXRvcl9pZCI6Ijc4MDU2MDYzMzIxMTYwODQ3NDkiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ== |
| visitor-hmac | 010bedcad9fab3e9fa4f4d967abc095e25b9a327f124d67b89931c8dde92668b |
| hovercard-subject-tag | issue:3176953919 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/matplotlib/matplotlib/30216/issue_layout |
| twitter:image | https://opengraph.githubassets.com/d3d7b1f0f8f898c2b9d1f6286078f8c3bb16de10a21376f8e883af2085e29093/matplotlib/matplotlib/issues/30216 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/d3d7b1f0f8f898c2b9d1f6286078f8c3bb16de10a21376f8e883af2085e29093/matplotlib/matplotlib/issues/30216 |
| og:image:alt | Bug summary stem breaks when I specify the horizontal components with a PyTorch Tensor. Code for reproduction import torch from matplotlib import pyplot as plt x = torch.arange(10.) y = (x * .2 * t... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | Atcold |
| hostname | github.com |
| expected-hostname | github.com |
| None | b9a586c06a05a7a86fc7e3f4dbd03e42f6869085879aa184aa6369456dbd50fb |
| turbo-cache-control | no-preview |
| go-import | github.com/matplotlib/matplotlib git https://github.com/matplotlib/matplotlib.git |
| octolytics-dimension-user_id | 215947 |
| octolytics-dimension-user_login | matplotlib |
| octolytics-dimension-repository_id | 1385122 |
| octolytics-dimension-repository_nwo | matplotlib/matplotlib |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 1385122 |
| octolytics-dimension-repository_network_root_nwo | matplotlib/matplotlib |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 7aed05249554b889eb33d002851a973eebcc7e91 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width