Title: [Bug]: Scatter Plot Returns Different Plots in Different Versions · Issue #21482 · matplotlib/matplotlib · GitHub
Open Graph Title: [Bug]: Scatter Plot Returns Different Plots in Different Versions · Issue #21482 · matplotlib/matplotlib
X Title: [Bug]: Scatter Plot Returns Different Plots in Different Versions · Issue #21482 · matplotlib/matplotlib
Description: Bug summary I'm working on a generative art generator library for python called Samila based on the matplotlib scatter plot. It gets two functions and maps a square space into a arbitrary shape. We want the generated shape to be the same...
Open Graph Description: Bug summary I'm working on a generative art generator library for python called Samila based on the matplotlib scatter plot. It gets two functions and maps a square space into a arbitrary shape. We...
X Description: Bug summary I'm working on a generative art generator library for python called Samila based on the matplotlib scatter plot. It gets two functions and maps a square space into a arbitrary shape...
Opengraph URL: https://github.com/matplotlib/matplotlib/issues/21482
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"[Bug]: Scatter Plot Returns Different Plots in Different Versions","articleBody":"### Bug summary\r\n\r\n\r\n\r\nI'm working on a generative art generator library for python called [Samila](https://github.com/sepandhaghighi/samila) based on the matplotlib scatter plot. It gets two functions and maps a square space into a arbitrary shape. We want the generated shape to be the same for given functions and given random seed in order to be reproducible.\r\n\r\nRecently we were working on functions with complex values and notified that scatter plot output is not the same in different versions on matplotlib.\r\n\r\n**I wanted to know why is it like this and what's the problem with matplotlib. If this is a bug it could be horrible for matplotlib to plot different figures for a specific code in its different versions.**\r\n\r\n### Code for reproduction\r\n\r\n```python\r\nimport random\r\nimport math\r\nimport matplotlib.pyplot as plt\r\nimport itertools\r\n\r\ndef f1(x,y):\r\n return math.cos(x**2 * y)**1.926 - math.floor(x - y)**1.861 - math.floor(y**2 * x)**1.688\r\ndef f2(x,y):\r\n return x - y**1.617 - math.ceil(y)**1.477 - abs(x**2 * y) ** 1.647 - math.cos(x * y)**1.668\r\ndef float_range(start, stop, step):\r\n while start \u003c stop:\r\n yield float(start)\r\n start += step\r\n\r\n\r\ndata1 = []\r\ndata2 = []\r\nrange1 = list(float_range(-1*math.pi, math.pi, 0.01))\r\nrange_prod = list(itertools.product(range1, range1))\r\nfor item in range_prod:\r\n data1.append(f1(item[0], item[1]))\r\n data2.append(f2(item[0], item[1]))\r\n\r\ncolor = (0.159, 0.085, 0.191)\r\nspot_size = 0.01\r\nprojection = \"polar\"\r\n\r\nfig = plt.figure()\r\nfig.set_size_inches(10, 10)\r\nax = fig.add_subplot(111, projection=projection)\r\nax.scatter(\r\n data2,\r\n data1,\r\n alpha=0.1,\r\n edgecolors=color,\r\n s=spot_size)\r\nax.set_axis_off()\r\nax.patch.set_zorder(-1)\r\nax.add_artist(ax.patch)\r\n\r\nplt.show()\r\n```\r\n\r\n\r\n### Actual outcome\r\n\r\nin `matplotlib.__version__ == 3.0.3`:\r\n\r\n\r\n\r\nin `matplotlib.__version__ == 3.4.3`:\r\n\r\n\r\n\r\n\r\n\r\n### Expected outcome\r\n\r\n**Same** result in different versions.\r\n\r\n### Operating system\r\n\r\nUbuntu 20.04\r\n\r\n### Matplotlib Version\r\n\r\n`3.0.3` and `3.4.3`\r\n\r\n### Python version\r\n\r\n`3.8.10`\r\n\r\n\u003chr\u003e\r\n\u003chr\u003e\r\n\r\n### [You can track this bug in the [stackoverflow](https://stackoverflow.com/questions/69718875/matplotlib-scatter-plot-returns-different-plots-in-different-versions) too]","author":{"url":"https://github.com/sadrasabouri","@type":"Person","name":"sadrasabouri"},"datePublished":"2021-10-28T09:26:29.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":8},"url":"https://github.com/21482/matplotlib/issues/21482"}
| 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:b7e1c31b-31f4-91f5-9ae0-ea84fc3e561c |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | A272:29B71F:82FCBA:AF92E2:6A528BF8 |
| html-safe-nonce | 592a0a9860bc26c40739cb9787ef20af51c8c2de8de3e8909bf047329e130bb6 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJBMjcyOjI5QjcxRjo4MkZDQkE6QUY5MkUyOjZBNTI4QkY4IiwidmlzaXRvcl9pZCI6IjQ4NzU0NzQwNTk2MDM5MDU1MjgiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ== |
| visitor-hmac | 97db306e018ac261b8342c506f3ed4aa00984af402ab1e7dc2242fb6fde1908d |
| hovercard-subject-tag | issue:1038291735 |
| 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/21482/issue_layout |
| twitter:image | https://opengraph.githubassets.com/96f8db7c2487fc38355844c4633c2988caea8dd3bca31d1b349e45e05ebe07d5/matplotlib/matplotlib/issues/21482 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/96f8db7c2487fc38355844c4633c2988caea8dd3bca31d1b349e45e05ebe07d5/matplotlib/matplotlib/issues/21482 |
| og:image:alt | Bug summary I'm working on a generative art generator library for python called Samila based on the matplotlib scatter plot. It gets two functions and maps a square space into a arbitrary shape. We... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | sadrasabouri |
| 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 | 07a982c1d40157c619b364352b704c3ce66bb332 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width