Title: Transforms Cannot be Added to Subplots in Python3 · Issue #8395 · matplotlib/matplotlib · GitHub
Open Graph Title: Transforms Cannot be Added to Subplots in Python3 · Issue #8395 · matplotlib/matplotlib
X Title: Transforms Cannot be Added to Subplots in Python3 · Issue #8395 · matplotlib/matplotlib
Description: Bug report Bug summary Axes with transforms (PolarTransform or CompositeGenericTransform) cannot be added to a subplot in python3. This appears to be due to the fact that matplotlib fails to create a hashable version of these objects for...
Open Graph Description: Bug report Bug summary Axes with transforms (PolarTransform or CompositeGenericTransform) cannot be added to a subplot in python3. This appears to be due to the fact that matplotlib fails to create...
X Description: Bug report Bug summary Axes with transforms (PolarTransform or CompositeGenericTransform) cannot be added to a subplot in python3. This appears to be due to the fact that matplotlib fails to create...
Opengraph URL: https://github.com/matplotlib/matplotlib/issues/8395
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Transforms Cannot be Added to Subplots in Python3","articleBody":"### Bug report\r\n\r\n**Bug summary**\r\n\r\nAxes with transforms (PolarTransform or CompositeGenericTransform) cannot be added to a subplot in python3. This appears to be due to the fact that matplotlib fails to create a hashable version of these objects for the purpose of making a dictionary key in https://github.com/matplotlib/matplotlib/blob/1bfc7551f32f7b42ba50620a837f03e51d5b7c77/lib/matplotlib/figure.py#L823-L851. There is no bug in the python2 version.\r\n\r\n**Code for reproduction**\r\n\r\n- Minimum working code:\r\n\r\n```python\r\n%pylab inline\r\nimport matplotlib as mpl\r\nfrom matplotlib import pyplot as plt\r\n\r\nimport mpl_toolkits.axisartist.floating_axes as floating_axes\r\n\r\ntr_rotate = mpl.transforms.Affine2D().rotate(3.1459)\r\ntr = mpl.projections.polar.PolarTransform() +tr_rotate\r\ngrid_helper = floating_axes.GridHelperCurveLinear(tr, extremes=(0, 6.28318, 10., 20.))\r\n\r\nfig = plt.figure()\r\nax1 = floating_axes.FloatingSubplot(fig, 111, grid_helper=grid_helper)\r\n\r\nfig.add_subplot(ax1, transform=tr)\r\n```\r\n\r\n**Actual outcome**\r\n- Traceback from using python3 running in a Jupyter notebook:\r\n```\r\n---------------------------------------------------------------------------\r\nTypeError Traceback (most recent call last)\r\n/usr/local/lib/python3.5/dist-packages/matplotlib/figure.py in add(self, key, a)\r\n 122 try:\r\n--\u003e 123 hash(key)\r\n 124 except TypeError:\r\n\r\nTypeError: unhashable type: 'CompositeGenericTransform'\r\n\r\nDuring handling of the above exception, another exception occurred:\r\n\r\nTypeError Traceback (most recent call last)\r\n\u003cipython-input-2-d333d90be1c9\u003e in \u003cmodule\u003e()\r\n 11 ax1 = floating_axes.FloatingSubplot(fig, 111, grid_helper=grid_helper)\r\n 12 \r\n---\u003e 13 fig.add_subplot(ax1, transform=tr)\r\n\r\n/usr/local/lib/python3.5/dist-packages/matplotlib/figure.py in add_subplot(self, *args, **kwargs)\r\n 1021 a = subplot_class_factory(projection_class)(self, *args, **kwargs)\r\n 1022 \r\n-\u003e 1023 self._axstack.add(key, a)\r\n 1024 self.sca(a)\r\n 1025 a._remove_method = self.__remove_ax\r\n\r\n/usr/local/lib/python3.5/dist-packages/matplotlib/figure.py in add(self, key, a)\r\n 123 hash(key)\r\n 124 except TypeError:\r\n--\u003e 125 raise ValueError(\"first argument, %s, is not a valid key\" % key)\r\n 126 \r\n 127 a_existing = self.get(key)\r\n\r\nTypeError: not all arguments converted during string formatting\r\n```\r\n\r\n**Expected outcome**\r\n\r\n- Figure generated by python2 in a Jupyter notebook:\r\n\r\n\r\n\r\n**Matplotlib version**\r\n\r\n- Matplotlib version: 2.0.0\r\n- Python version: 3.5.2 (bug) / 2.7.12 (working)\r\n- Platform: Ubuntu 16.04\r\n\r\n- Python was installed using apt.\r\n- Matplotlib was installed using pip.","author":{"url":"https://github.com/w2naf","@type":"Person","name":"w2naf"},"datePublished":"2017-03-28T19:18:02.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":0},"url":"https://github.com/8395/matplotlib/issues/8395"}
| 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:8f97376b-9207-a1f0-5630-dc1ed717e347 |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | DC2C:106E83:22537:2EBC6:6A51C927 |
| html-safe-nonce | 7e7ae71498ea737aee6eace8e29bcd1f4d2e2544ac91f3d222887066ac7ffbf8 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJEQzJDOjEwNkU4MzoyMjUzNzoyRUJDNjo2QTUxQzkyNyIsInZpc2l0b3JfaWQiOiI1NTkyNjIzODIxODQwNTcxMjciLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ== |
| visitor-hmac | 9430ef0b183c8164654c114942595ecc6674d665a16574204581c62dd5ebba82 |
| hovercard-subject-tag | issue:217664550 |
| 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/8395/issue_layout |
| twitter:image | https://opengraph.githubassets.com/a375d73bf8be41eef58d0c9160c7ffdd94c5e24e9a29c23370a3bc062dd72a30/matplotlib/matplotlib/issues/8395 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/a375d73bf8be41eef58d0c9160c7ffdd94c5e24e9a29c23370a3bc062dd72a30/matplotlib/matplotlib/issues/8395 |
| og:image:alt | Bug report Bug summary Axes with transforms (PolarTransform or CompositeGenericTransform) cannot be added to a subplot in python3. This appears to be due to the fact that matplotlib fails to create... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | w2naf |
| 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