From jerzy.karczmarczuk at unicaen.fr Wed Jul 1 04:11:15 2020 From: jerzy.karczmarczuk at unicaen.fr (Jerzy Karczmarczuk) Date: Wed, 1 Jul 2020 10:11:15 +0200 Subject: [Matplotlib-users] Sarcasm and scorn? (was Re: How to close plot window in interactive mode?) In-Reply-To: <8cd41497-23d3-47af-9448-1ced77608599@www.fastmail.com> References: <4338156.Y9W0877I0C@gial.local> <8cd41497-23d3-47af-9448-1ced77608599@www.fastmail.com> Message-ID: I answered somewhat brutally (but I /answered/!) a question about closing a window in Matplotlib. I got the following reproach: On 01/07/2020 3:54 am, Juan Nunez-Iglesias wrote: > if you want to "teach users to fish", that's fine, I get that. But > this can be done with encouragement and direction rather than sarcasm > and scorn. No Sir, your humane attitude wrt people who ask trivial questions on this, and on thousands of other list is defendable, but I have reasons to disagree with your teaching me manners. Here's why... 1. Sarcasm need not be treated as an attack. In the concerned context is the /*community defence*/. You sweep over a widely open door, remainding us that: "1M results is a lot of noise to wade through. Additionally, it is a well-documented problem that a lot of Matplotlib answers on the web are out of date and use APIs that are no longer recommended by the core team. It is not reasonable to expect new users to be as effective at cutting through that noise as more experienced ones. Nor is it reasonable to expect everyone to have read through *all* the very extensive matplotlib documentation before daring to post to the list." *Did you ever ask yourself WHY *there is so much noise, and why beginners have difficulties to squeeze through useless "information"? A substantial part of the reason is that too many people don't read documentation, and lazily ask the mailing lists, etc. to solve the problem for them. I hope you don't think that I am as silly as to ask G.A.? to read 1e6 answers. Every "nice" and "pedagogic" response adds to this noise, and increases the global level of laziness. And such answers, often incomplete, will remain on the Web for years. 2. Please, don't be trivial: nobody needs all the documentation, but even my 8 years old granddaughter is able to ask a simple question on Internet, Google etc. is for that. What proficiency do you need to ask "how to close a window in Matplotlib"? The questioner began with the affirmation that he searched for the answer. Difficult to believe, no, he didn't search anything at all... Shall we encourage such attitudes, and amplify this social disease?? Sorry Sir, but I believe that those "helpful answerers" serve the devil. 3. There is an official documentation for Matplotlib, well indexed and structured. I strongly believe that such lists as this one has a pedagogic role, and may be very, very helpful to beginners, but a good answer to a (seemingly) trivial question is to *provide a good link*, not an off-the-shelf banal, pre-digested solution. 4. Sorry for being egotistic, and speak about myself, but I taught thousands of students... (half a century of teaching...). After some time I simply refused to answer some questions, demanding often some additional */details/*, such as * what did you REALLY try to find the solution of your problem? * What is the context of your issues?? Your platform, OS version, packages used versions... * SHow me your codes And in many, many cases my students encouraged (or "forced")? to prepare a complete dossier with their problem, found themselves the solution. 5. The horrible Stack Overflow is reputed for their lack of tolerance, many people don't like it, neither do I. But we must acknowledge that they succesfully protect themselves from avalanches of repetitive trivial questions. You don't find therein many "cases" which pollute - for example - the Anaconda mailing list, where it is *not rar**e* to find questions similar to: "I downloaded Anaconda, it doesn't work. What shall I do". Seriously!? So, dear Juan Nunez-Iglesias, what would you answer, without being sarcastic, and without being trivial, demanding the details, asking whether the "victim" followed some instruction, etc.? Sorry for this long post, thank you for the "inspiration"... Jerzy Karczmarczuk /Caen, France/ -- This email has been checked for viruses by Avast antivirus software. https://www.avast.com/antivirus -------------- next part -------------- An HTML attachment was scrubbed... URL: From pmhobson at gmail.com Wed Jul 1 09:39:06 2020 From: pmhobson at gmail.com (Paul Hobson) Date: Wed, 1 Jul 2020 06:39:06 -0700 Subject: [Matplotlib-users] Sarcasm and scorn? (was Re: How to close plot window in interactive mode?) In-Reply-To: References: <4338156.Y9W0877I0C@gial.local> <8cd41497-23d3-47af-9448-1ced77608599@www.fastmail.com> Message-ID: Jerzy, We should strive to make this list a welcoming place. If a user's question bothers you, I encourage you to ignore it and find a more productive use of your time. -paul On Wed, Jul 1, 2020 at 1:11 AM Jerzy Karczmarczuk < jerzy.karczmarczuk at unicaen.fr> wrote: > I answered somewhat brutally (but I *answered*!) a question about closing > a window in Matplotlib. I got the following reproach: > On 01/07/2020 3:54 am, Juan Nunez-Iglesias wrote: > > if you want to "teach users to fish", that's fine, I get that. But this can be done with encouragement and direction rather than sarcasm and scorn. > > No Sir, your humane attitude wrt people who ask trivial questions on this, > and on thousands of other list is defendable, but I have reasons to > disagree with your teaching me manners. Here's why... > > 1. Sarcasm need not be treated as an attack. In the concerned context > is the *community defence*. You sweep over a widely open door, > remainding us that: > > "1M results is a lot of noise to wade through. Additionally, it is a > well-documented problem that a lot of Matplotlib answers on the web are out > of date and use APIs that are no longer recommended by the core team. It is > not reasonable to expect new users to be as effective at cutting through > that noise as more experienced ones. Nor is it reasonable to expect > everyone to have read through **all** the very extensive matplotlib > documentation before daring to post to the list." > > *Did you ever ask yourself WHY *there is so much noise, and why > beginners have difficulties to squeeze through useless "information"? A > substantial part of the reason is that too many people don't read > documentation, and lazily ask the mailing lists, etc. to solve the problem > for them. I hope you don't think that I am as silly as to ask G.A. to read > 1e6 answers. Every "nice" and "pedagogic" response adds to this noise, and > increases the global level of laziness. And such answers, often incomplete, > will remain on the Web for years. > 2. > > Please, don't be trivial: nobody needs all the documentation, but even > my 8 years old granddaughter is able to ask a simple question on Internet, > Google etc. is for that. What proficiency do you need to ask "how to close > a window in Matplotlib"? The questioner began with the affirmation that he > searched for the answer. Difficult to believe, no, he didn't search > anything at all... Shall we encourage such attitudes, and amplify this > social disease? Sorry Sir, but I believe that those "helpful answerers" > serve the devil. > 3. There is an official documentation for Matplotlib, well indexed and > structured. I strongly believe that such lists as this one has a pedagogic > role, and may be very, very helpful to beginners, but a good answer to a > (seemingly) trivial question is to *provide a good link*, not an > off-the-shelf banal, pre-digested solution. > > 4. Sorry for being egotistic, and speak about myself, but I taught > thousands of students... (half a century of teaching...). After some time I > simply refused to answer some questions, demanding often some additional > *details*, such as > - what did you REALLY try to find the solution of your problem? > - What is the context of your issues? Your platform, OS version, > packages used versions... > - SHow me your codes > And in many, many cases my students encouraged (or "forced") to > prepare a complete dossier with their problem, found themselves the > solution. > > 5. The horrible Stack Overflow is reputed for their lack of tolerance, > many people don't like it, neither do I. But we must acknowledge that they > succesfully protect themselves from avalanches of repetitive trivial > questions. You don't find therein many "cases" which pollute - for example > - the Anaconda mailing list, where it is *not rar**e* to find > questions similar to: "I downloaded Anaconda, it doesn't work. What shall I > do". Seriously! So, dear Juan Nunez-Iglesias, what would you answer, > without being sarcastic, and without being trivial, demanding the details, > asking whether the "victim" followed some instruction, etc.? > > Sorry for this long post, thank you for the "inspiration"... > > Jerzy Karczmarczuk > /Caen, France/ > > > > > > ------------------------------ > [image: Avast logo] > > This email has been checked for viruses by Avast antivirus software. > www.avast.com > > > <#m_8964942754078947684_m_-4854480007386084177_DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2> > > > _______________________________________________ > Matplotlib-users mailing list > Matplotlib-users at python.org > https://mail.python.org/mailman/listinfo/matplotlib-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: From tcaswell at gmail.com Wed Jul 1 14:44:33 2020 From: tcaswell at gmail.com (Thomas Caswell) Date: Wed, 1 Jul 2020 14:44:33 -0400 Subject: [Matplotlib-users] Sarcasm and scorn? (was Re: How to close plot window in interactive mode?) In-Reply-To: References: <4338156.Y9W0877I0C@gial.local> <8cd41497-23d3-47af-9448-1ced77608599@www.fastmail.com> Message-ID: Jerzy, I agree with both Juan and Paul. There is no place for sarcasm or scorn on our mailing list (or any of our spaces). We follow the PSF Code of Conduct ( https://www.python.org/psf/conduct/ ). Your initial email (which you call "brutal") is not considerate, respectful, or professional and is not appropriate for this list. This is not the first time you have been rebuked [1], but given this defense of your behavior I see that I was giving you too much benefit of the doubt. If you can not bring yourself to answer questions on the mailing list in a respectful, considerate, and professional manner, please do not answer at all. Tom [1] https://mail.python.org/pipermail/matplotlib-users/2020-May/001891.html On Wed, Jul 1, 2020 at 9:39 AM Paul Hobson wrote: > Jerzy, > > We should strive to make this list a welcoming place. If a user's question > bothers you, I encourage you to ignore it and find a more productive use of > your time. > > -paul > > On Wed, Jul 1, 2020 at 1:11 AM Jerzy Karczmarczuk < > jerzy.karczmarczuk at unicaen.fr> wrote: > >> I answered somewhat brutally (but I *answered*!) a question about >> closing a window in Matplotlib. I got the following reproach: >> On 01/07/2020 3:54 am, Juan Nunez-Iglesias wrote: >> >> if you want to "teach users to fish", that's fine, I get that. But this can be done with encouragement and direction rather than sarcasm and scorn. >> >> No Sir, your humane attitude wrt people who ask trivial questions on >> this, and on thousands of other list is defendable, but I have reasons to >> disagree with your teaching me manners. Here's why... >> >> 1. Sarcasm need not be treated as an attack. In the concerned context >> is the *community defence*. You sweep over a widely open door, >> remainding us that: >> >> "1M results is a lot of noise to wade through. Additionally, it is a >> well-documented problem that a lot of Matplotlib answers on the web are out >> of date and use APIs that are no longer recommended by the core team. It is >> not reasonable to expect new users to be as effective at cutting through >> that noise as more experienced ones. Nor is it reasonable to expect >> everyone to have read through **all** the very extensive matplotlib >> documentation before daring to post to the list." >> >> *Did you ever ask yourself WHY *there is so much noise, and why >> beginners have difficulties to squeeze through useless "information"? A >> substantial part of the reason is that too many people don't read >> documentation, and lazily ask the mailing lists, etc. to solve the problem >> for them. I hope you don't think that I am as silly as to ask G.A. to read >> 1e6 answers. Every "nice" and "pedagogic" response adds to this noise, and >> increases the global level of laziness. And such answers, often incomplete, >> will remain on the Web for years. >> 2. >> >> Please, don't be trivial: nobody needs all the documentation, but >> even my 8 years old granddaughter is able to ask a simple question on >> Internet, Google etc. is for that. What proficiency do you need to ask "how >> to close a window in Matplotlib"? The questioner began with the affirmation >> that he searched for the answer. Difficult to believe, no, he didn't search >> anything at all... Shall we encourage such attitudes, and amplify this >> social disease? Sorry Sir, but I believe that those "helpful answerers" >> serve the devil. >> 3. There is an official documentation for Matplotlib, well indexed >> and structured. I strongly believe that such lists as this one has a >> pedagogic role, and may be very, very helpful to beginners, but a good >> answer to a (seemingly) trivial question is to *provide a good link*, >> not an off-the-shelf banal, pre-digested solution. >> >> 4. Sorry for being egotistic, and speak about myself, but I taught >> thousands of students... (half a century of teaching...). After some time I >> simply refused to answer some questions, demanding often some additional >> *details*, such as >> - what did you REALLY try to find the solution of your problem? >> - What is the context of your issues? Your platform, OS version, >> packages used versions... >> - SHow me your codes >> And in many, many cases my students encouraged (or "forced") to >> prepare a complete dossier with their problem, found themselves the >> solution. >> >> 5. The horrible Stack Overflow is reputed for their lack of >> tolerance, many people don't like it, neither do I. But we must acknowledge >> that they succesfully protect themselves from avalanches of repetitive >> trivial questions. You don't find therein many "cases" which pollute - for >> example - the Anaconda mailing list, where it is *not rar**e* to find >> questions similar to: "I downloaded Anaconda, it doesn't work. What shall I >> do". Seriously! So, dear Juan Nunez-Iglesias, what would you answer, >> without being sarcastic, and without being trivial, demanding the details, >> asking whether the "victim" followed some instruction, etc.? >> >> Sorry for this long post, thank you for the "inspiration"... >> >> Jerzy Karczmarczuk >> /Caen, France/ >> >> >> >> >> >> ------------------------------ >> [image: Avast logo] >> >> This email has been checked for viruses by Avast antivirus software. >> www.avast.com >> >> >> <#m_5100768429326805955_m_8964942754078947684_m_-4854480007386084177_DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2> >> >> >> _______________________________________________ >> Matplotlib-users mailing list >> Matplotlib-users at python.org >> https://mail.python.org/mailman/listinfo/matplotlib-users >> > _______________________________________________ > Matplotlib-users mailing list > Matplotlib-users at python.org > https://mail.python.org/mailman/listinfo/matplotlib-users > -- Thomas Caswell tcaswell at gmail.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From parker.charles at gmail.com Tue Jul 7 21:00:00 2020 From: parker.charles at gmail.com (Chad Parker) Date: Tue, 7 Jul 2020 21:00:00 -0400 Subject: [Matplotlib-users] Share Y-axis on Subplot with Scaling Message-ID: All- I'm trying to do something similar to this example: https://matplotlib.org/examples/axes_grid/parasite_simple2.html However, instead of the parasite axes being overlaid with the primary one, I'd like it to be a separate subplot that I can put different data on. (Also, I'm trying to do this with a pair of y-axes, in case that's relevant. It's not immediately obvious how to adjust the example to do this with y instead of x.) Ultimately I want the second y-axis to set its range to some multiple of the first. So, for example, if I set one axis to have a y range of [0,64], I'd like the second subplot to automatically adjust its range to [0,32]. (I'd also like to be able to link the x axes to adjust together as normally done with the sharex keyword.) My first thought was to modify the lines: ax = SubplotHost(fig, 1, 1, 1) ... ax_pm = ax_kms.twin(aux_trans) to be: ax = SubplotHost(fig, 2, 1, 1) ... ax_pm = fig.add_subplot(212, transform=aux_trans) but the result is a TypeError: unhashable type: 'Affine2D'. Perhaps I'm getting transforms confused, and the transform keyword to add_subplot is used to define its location on the figure instead of how "twin" uses it to apparently scale the axes. The API just lists the keyword as expecting a type "Transform", and mentions that it's passed along to the Axes base class, which also just lists it as being of type "Transform". (aside: is there documentation for the "SubplotHost" class? I don't see it listed here: https://matplotlib.org/3.1.1/api/_as_gen/mpl_toolkits.axes_grid1.parasite_axes.html I went looking for the documentation of the "twin" function to see if I could understand how it used the transform, but was unable to find it in about 5 minutes of looking.) To make it a little clearer what I'm after, here's some base code to set up an example: import matplotlib.pyplot as plt xdata = [1, 2, 3, 4, 5, 6] ydata = [2, 4, 8, 16, 32, 64] ydata2 = [y/2 for y in ydata] fig = plt.figure() ax1 = fig.add_subplot(2, 1, 1) ax2 = fig.add_subplot(2, 1, 2, sharex=ax1) ax1.plot(xdata, ydata) ax2.plot(xdata, ydata2) # ax1.set_ylim([0, 64]) # ax2.set_ylim([0, 32]) # happens automagically with the previous line It would be super convenient if one could simply pass a transform as the argument to sharey in the call to add_subplot... Thanks for any help you might provide, --Chad -------------- next part -------------- An HTML attachment was scrubbed... URL: From quantum.analyst at gmail.com Thu Jul 16 21:21:47 2020 From: quantum.analyst at gmail.com (Elliott Sales de Andrade) Date: Thu, 16 Jul 2020 21:21:47 -0400 Subject: [Matplotlib-users] [ANN] Matplotlib 3.3.0 Message-ID: <0827dba8-d5b3-5b81-13db-b3b3f66a684a@gmail.com> Hi all, We are pleased to announce the release of 3.3.0. Pre-built wheels are available for most major platforms, and can be installed using `pip install matplotlib==3.3.0`. Other packages may also be available already; please check with your preferred source. The 3.3.0 release represents the work of 144 authors over 1066 pull requests, and we thank them for their contributions. Some highlights of this release include: * Provisional API for composing semantic axes layouts from text or nested lists * New Axes.sharex, Axes.sharey methods * Turbo colormap * colors.BoundaryNorm supports extend keyword argument * Text color for legend labels * Pcolor and Pcolormesh now accept shading='nearest' and 'auto' * Allow tick formatters to be set with str or function inputs * New Axes.axline method * Dates use a modern epoch * Improved font weight detection * Axes3D no longer distorts the 3D plot to match the 2D aspect ratio * More consistent toolbar behavior across backends * Toolbar icons are now styled for dark themes * Cursor text now uses a number of significant digits matching pointing precision * Functions to compute a Path's size * savefig() gained a backend keyword argument * Saving SVG now supports adding metadata * Saving PDF metadata via PGF now consistent with PDF backend * NbAgg and WebAgg no longer use jQuery & jQuery UI For further details, please see the What's new in Matplotlib 3.3.0 page: https://matplotlib.org/3.3.0/users/whats_new.html and the milestone on GitHub: https://github.com/matplotlib/matplotlib/milestone/48?closed=1 For packagers, this release contains some changes to dependencies: * Pillow is now required. * jQuery and jQuery-UI are no longer used, nor downloaded as part of the build. * Compiled extensions are built with LTO if the compiler supports it. This release is signed by my GPG key. The fingerprint is: 23CA B59E 3332 F94D 26BE F037 8D86 E7FA E5EB 0C10 and it is also used to sign this message. -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 870 bytes Desc: OpenPGP digital signature URL: From j.p.mitrevski at gmail.com Fri Jul 24 19:03:57 2020 From: j.p.mitrevski at gmail.com (Jovan Mitrevski) Date: Fri, 24 Jul 2020 18:03:57 -0500 Subject: [Matplotlib-users] adding a RectangleSelector modifies ylims Message-ID: Hi, When I add a RectangleSelector to an axes, the y-axis range changes. There's a simple workaround to just call get_ylim before and set_ylim after, but I wanted to understand the why there is a change at all. Jovan