[Matplotlib-users] Why is pip not mentioned in the Installation Documentation?
Hi, I'm interested to know why the pip package manager is not more widely supported for installation of python packages like matplotlib? Matplotlib seems to be particularly slowly updated in the Fedora repositories, for example, so I often find that a source installation is necessary. I know this isn't especially difficult for the experienced user, but surely using something like pip would make this process for accessible for all users of python packages, particularly those that do not receive much attention from the big distribution maintainers? Yet, pip doesn't get a mention on the installation documentation of matplotlib or many other python packs. I would love to hear anyone's thoughts on this matter. Many Thanks, Mat -- Dr. Mathew Topper Institute for Energy Systems School of Engineering The University of Edinburgh Faraday Building The King's Buildings Edinburgh EH9 3JL Tel: +44 (0)131 650 5570 School fax: +44 (0)131 650 6554 mathew.top...@ed.ac.uk mailto:mathew.top...@ed.ac.uk http://www.see.ed.ac.uk http://www.see.ed.ac.uk/ The University of Edinburgh is a charitable body, registered in Scotland, with registration number SC005336. -- Monitor your physical, virtual and cloud infrastructure from a single web console. Get in-depth insight into apps, servers, databases, vmware, SAP, cloud infrastructure, etc. Download 30-day Free Trial. Pricing starts from $795 for 25 servers or applications! http://p.sf.net/sfu/zoho_dev2dev_nov___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] Why is pip not mentioned in the Installation Documentation?
One of the reasons (historically) is that the build scripts predate setuptools and ships copies of dependencies rather than using easy_install or pip to install them. There is an open PR to address this here: https://github.com/matplotlib/matplotlib/pull/1454 But you do make a good point that `pip` should be mentioned in the docs as part of that change. Mike On 11/16/2012 05:54 AM, Mathew Topper wrote: Hi, I'm interested to know why the pip package manager is not more widely supported for installation of python packages like matplotlib? Matplotlib seems to be particularly slowly updated in the Fedora repositories, for example, so I often find that a source installation is necessary. I know this isn't especially difficult for the experienced user, but surely using something like pip would make this process for accessible for all users of python packages, particularly those that do not receive much attention from the big distribution maintainers? Yet, pip doesn't get a mention on the installation documentation of matplotlib or many other python packs. I would love to hear anyone's thoughts on this matter. Many Thanks, Mat -- Dr. Mathew Topper Institute for Energy Systems School of Engineering The University of Edinburgh Faraday Building The King's Buildings Edinburgh EH9 3JL Tel: +44 (0)131 650 5570 School fax: +44 (0)131 650 6554 mathew.top...@ed.ac.uk mailto:mathew.top...@ed.ac.uk http://www.see.ed.ac.uk http://www.see.ed.ac.uk/ The University of Edinburgh is a charitable body, registered in Scotland, with registration number SC005336. -- Monitor your physical, virtual and cloud infrastructure from a single web console. Get in-depth insight into apps, servers, databases, vmware, SAP, cloud infrastructure, etc. Download 30-day Free Trial. Pricing starts from $795 for 25 servers or applications! http://p.sf.net/sfu/zoho_dev2dev_nov ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users -- Monitor your physical, virtual and cloud infrastructure from a single web console. Get in-depth insight into apps, servers, databases, vmware, SAP, cloud infrastructure, etc. Download 30-day Free Trial. Pricing starts from $795 for 25 servers or applications! http://p.sf.net/sfu/zoho_dev2dev_nov___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] Why is pip not mentioned in the Installation Documentation?
Thanks Mike, that's good to know. Will packages dependant on matplotlib (I'm thinking of basemap) be encouraged to follow suit? I know that python package management is a massive headache for our system maintainers here, and any simplification would be gratefully received. Cheers, Mat On 16/11/12 13:59, Michael Droettboom wrote: One of the reasons (historically) is that the build scripts predate setuptools and ships copies of dependencies rather than using easy_install or pip to install them. There is an open PR to address this here: https://github.com/matplotlib/matplotlib/pull/1454 But you do make a good point that `pip` should be mentioned in the docs as part of that change. Mike On 11/16/2012 05:54 AM, Mathew Topper wrote: Hi, I'm interested to know why the pip package manager is not more widely supported for installation of python packages like matplotlib? Matplotlib seems to be particularly slowly updated in the Fedora repositories, for example, so I often find that a source installation is necessary. I know this isn't especially difficult for the experienced user, but surely using something like pip would make this process for accessible for all users of python packages, particularly those that do not receive much attention from the big distribution maintainers? Yet, pip doesn't get a mention on the installation documentation of matplotlib or many other python packs. I would love to hear anyone's thoughts on this matter. Many Thanks, Mat -- Dr. Mathew Topper Institute for Energy Systems School of Engineering The University of Edinburgh Faraday Building The King's Buildings Edinburgh EH9 3JL Tel: +44 (0)131 650 5570 School fax: +44 (0)131 650 6554 mathew.top...@ed.ac.uk mailto:mathew.top...@ed.ac.uk http://www.see.ed.ac.uk http://www.see.ed.ac.uk/ The University of Edinburgh is a charitable body, registered in Scotland, with registration number SC005336. -- Monitor your physical, virtual and cloud infrastructure from a single web console. Get in-depth insight into apps, servers, databases, vmware, SAP, cloud infrastructure, etc. Download 30-day Free Trial. Pricing starts from $795 for 25 servers or applications! http://p.sf.net/sfu/zoho_dev2dev_nov ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users -- Monitor your physical, virtual and cloud infrastructure from a single web console. Get in-depth insight into apps, servers, databases, vmware, SAP, cloud infrastructure, etc. Download 30-day Free Trial. Pricing starts from $795 for 25 servers or applications! http://p.sf.net/sfu/zoho_dev2dev_nov ___ Matplotlib-users mailing list https://lists.sourceforge.net/lists/listinfo/matplotlib-users -- Dr. Mathew Topper Institute for Energy Systems School of Engineering The University of Edinburgh Faraday Building The King's Buildings Edinburgh EH9 3JL Tel: +44 (0)131 650 5570 School fax: +44 (0)131 650 6554 mathew.top...@ed.ac.uk mailto:mathew.top...@ed.ac.uk http://www.see.ed.ac.uk http://www.see.ed.ac.uk/ The University of Edinburgh is a charitable body, registered in Scotland, with registration number SC005336. -- Monitor your physical, virtual and cloud infrastructure from a single web console. Get in-depth insight into apps, servers, databases, vmware, SAP, cloud infrastructure, etc. Download 30-day Free Trial. Pricing starts from $795 for 25 servers or applications! http://p.sf.net/sfu/zoho_dev2dev_nov___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] how to put colorbar label beside the handle?
I have a bit progress, but still not very well. #to have a contourf plot a = np.arange(100).reshape(10,10) cbarlevel=np.arange(0,101,10) contourf(a,levels=cbarlevel) cbar = colorbar() cbar.set_ticks(cbarlevel) #to manipulate the range: cbar_label = [] for i in range(len(cbarlevel)-1): cbar_label.append({0}-{1}.format(cbarlevel[i],cbarlevel[i+1])) cbar_label.append('') In [54]: print cbar_label ['0-10', '10-20', '20-30', '30-40', '40-50', '50-60', '60-70', '70-80', '80-90', '90-100', ''] #Then to apply on the colorbar: cbar.set_ticklabels(cbar_label) The generated figure is attached. But how can I put the labels a little bit upward to make them parallel with the respective small rectangles in the colorbar? http://matplotlib.1069221.n5.nabble.com/file/n39786/fig.jpg -- View this message in context: http://matplotlib.1069221.n5.nabble.com/how-to-put-colorbar-label-beside-the-handle-tp39705p39786.html Sent from the matplotlib - users mailing list archive at Nabble.com. -- Monitor your physical, virtual and cloud infrastructure from a single web console. Get in-depth insight into apps, servers, databases, vmware, SAP, cloud infrastructure, etc. Download 30-day Free Trial. Pricing starts from $795 for 25 servers or applications! http://p.sf.net/sfu/zoho_dev2dev_nov ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
[Matplotlib-users] Using an array which includes NaNs for color in streamplot
Hi Everyone, I have just upgraded to matplotlib 1.2.0 so that I can use the streamplot module, which I'm quite happy about! However, I've noticed that when one tries to color the streamlines using a 2-D array which contains NaNs, streamlines of only one color are shown! I have appended example code below which reproduces the problem. Meanwhile, if the following two lines are inserted inside an if use_multicolor_lines: region within streamplot.py, then the problem goes away (for example, after line 84 or line 115): if np.any(np.isnan(color)): color = np.ma.array(color, mask=np.isnan(color)) This check already exists on the input arrays U and V, but not for color. I am also not sure this issue will persist when a normalize object is explicitly specified. Example code (derived from streamplot_demo.py): import numpy as np import matplotlib.pyplot as plt Y, X = np.mgrid[-3:3:100j, -3:3:100j] U = -1 - X**2 + Y V = 1 + X - Y**2 speed = np.sqrt(U*U + V*V) m = np.sqrt(X**2 + Y**2) 1.0 speed[m] = np.nan plt.streamplot(X, Y, U, V, color=speed, linewidth=2, cmap=plt.cm.autumn) plt.colorbar() plt.show() Additional info: Linux 2.6.38-16-generic #67-Ubuntu SMP Thu Sep 6 17:58:38 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux Matplotlib v1.2.0 Best Regards, Jon Ramsey P.S. Long time reader, first time poster. -- Monitor your physical, virtual and cloud infrastructure from a single web console. Get in-depth insight into apps, servers, databases, vmware, SAP, cloud infrastructure, etc. Download 30-day Free Trial. Pricing starts from $795 for 25 servers or applications! http://p.sf.net/sfu/zoho_dev2dev_nov___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] how to put colorbar label beside the handle?
Chao, The secret is positioning your ticks. I list here an untested attempt at putting the labels at the average of the current and next levels: cbar.set_ticks((cbarlevel[1:]+cbarlevel[:-1])/2.) Because you have less ticks, then you will want to remove the line cbar_level.append('') Hope that helps, Sterling On Nov 16, 2012, at 7:46AM, ChaoYue wrote: I have a bit progress, but still not very well. #to have a contourf plot a = np.arange(100).reshape(10,10) cbarlevel=np.arange(0,101,10) contourf(a,levels=cbarlevel) cbar = colorbar() cbar.set_ticks(cbarlevel) #to manipulate the range: cbar_label = [] for i in range(len(cbarlevel)-1): cbar_label.append({0}-{1}.format(cbarlevel[i],cbarlevel[i+1])) cbar_label.append('') In [54]: print cbar_label ['0-10', '10-20', '20-30', '30-40', '40-50', '50-60', '60-70', '70-80', '80-90', '90-100', ''] #Then to apply on the colorbar: cbar.set_ticklabels(cbar_label) The generated figure is attached. But how can I put the labels a little bit upward to make them parallel with the respective small rectangles in the colorbar? http://matplotlib.1069221.n5.nabble.com/file/n39786/fig.jpg -- View this message in context: http://matplotlib.1069221.n5.nabble.com/how-to-put-colorbar-label-beside-the-handle-tp39705p39786.html Sent from the matplotlib - users mailing list archive at Nabble.com. -- Monitor your physical, virtual and cloud infrastructure from a single web console. Get in-depth insight into apps, servers, databases, vmware, SAP, cloud infrastructure, etc. Download 30-day Free Trial. Pricing starts from $795 for 25 servers or applications! http://p.sf.net/sfu/zoho_dev2dev_nov ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users -- Monitor your physical, virtual and cloud infrastructure from a single web console. Get in-depth insight into apps, servers, databases, vmware, SAP, cloud infrastructure, etc. Download 30-day Free Trial. Pricing starts from $795 for 25 servers or applications! http://p.sf.net/sfu/zoho_dev2dev_nov ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] Using an array which includes NaNs for color in streamplot
On Fri, Nov 16, 2012 at 11:35 AM, Jon Ramsey jon.p.ram...@gmail.com wrote: Hi Everyone, I have just upgraded to matplotlib 1.2.0 so that I can use the streamplot module, which I'm quite happy about! However, I've noticed that when one tries to color the streamlines using a 2-D array which contains NaNs, streamlines of only one color are shown! I have appended example code below which reproduces the problem. Meanwhile, if the following two lines are inserted inside an if use_multicolor_lines: region within streamplot.py, then the problem goes away (for example, after line 84 or line 115): if np.any(np.isnan(color)): color = np.ma.array(color, mask=np.isnan(color)) This check already exists on the input arrays U and V, but not for color. I am also not sure this issue will persist when a normalize object is explicitly specified. Example code (derived from streamplot_demo.py): import numpy as np import matplotlib.pyplot as plt Y, X = np.mgrid[-3:3:100j, -3:3:100j] U = -1 - X**2 + Y V = 1 + X - Y**2 speed = np.sqrt(U*U + V*V) m = np.sqrt(X**2 + Y**2) 1.0 speed[m] = np.nan plt.streamplot(X, Y, U, V, color=speed, linewidth=2, cmap=plt.cm.autumn) plt.colorbar() plt.show() Additional info: Linux 2.6.38-16-generic #67-Ubuntu SMP Thu Sep 6 17:58:38 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux Matplotlib v1.2.0 Best Regards, Jon Ramsey P.S. Long time reader, first time poster. Hi Jon, Welcome! This fix looks good to me. Since you mentioned that you're using the latest release, I assume you're not running matplotlib from github, so I filed a pull request with your fix: https://github.com/matplotlib/matplotlib/pull/1514 Thanks for the bug report and fix! -Tony -- Monitor your physical, virtual and cloud infrastructure from a single web console. Get in-depth insight into apps, servers, databases, vmware, SAP, cloud infrastructure, etc. Download 30-day Free Trial. Pricing starts from $795 for 25 servers or applications! http://p.sf.net/sfu/zoho_dev2dev_nov___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] Why is pip not mentioned in the Installation Documentation?
In article 50a61b5b.1090...@ed.ac.uk, Mathew Topper mathew.top...@ed.ac.uk wrote: Hi, I'm interested to know why the pip package manager is not more widely supported for installation of python packages like matplotlib? Matplotlib seems to be particularly slowly updated in the Fedora repositories, for example, so I often find that a source installation is necessary. I know this isn't especially difficult for the experienced user, but surely using something like pip would make this process for accessible for all users of python packages, particularly those that do not receive much attention from the big distribution maintainers? Yet, pip doesn't get a mention on the installation documentation of matplotlib or many other python packs. I would love to hear anyone's thoughts on this matter. Unfortunately pip cannot install binaries, so any user that tried to install matplotlib using pip would have to have a C compiler. Unfortunately many users do not have a compiler on MacOS and Windows. In addition, matplotlib has some important dependencies that may not be available on all systems. MacOS now includes all necessary libraries. I don't think that is true for most flavors linux (though there is probably an easy way to get all missing packages). I have no idea about Windows. I agree pip should be mentioned, but I don't see it as a viable mainstream means of installing matplotlib. (Does it even work with matplotlib? I've never tried it.) -- Russell -- Monitor your physical, virtual and cloud infrastructure from a single web console. Get in-depth insight into apps, servers, databases, vmware, SAP, cloud infrastructure, etc. Download 30-day Free Trial. Pricing starts from $795 for 25 servers or applications! http://p.sf.net/sfu/zoho_dev2dev_nov ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] how to put colorbar label beside the handle?
Chao, If you don't need the tick marks and are only annoyed by their appearance in the colorbar, then I am pasting below our code so far setting the tick length to 0. Code so far: from pylab import * fig = figure(2) fig.clear() a = np.arange(100).reshape(10,10) cbarlevel=np.arange(0,101,10) contourf(a,levels=cbarlevel) cbar = colorbar() cbar.set_ticks((cbarlevel[1:]+cbarlevel[:-1])/2.) #to manipulate the range: cbar_label = [] for i in range(len(cbarlevel)-1): cbar_label.append({0}-{1}.format(cbarlevel[i],cbarlevel[i+1])) #Then to apply on the colorbar: cbar.set_ticklabels(cbar_label) ax = fig.axes[-1] #This is not as clean as making the axes before the colorbar and passing to the colorbar... ax.yaxis.set_tick_params(length=0) If you still want the ticks, then you might think of keeping the ticks where you had set them originally, then placing texts (pylab.text) with the transAxes transform, using the following script: from pylab import * fig = figure(2) fig.clear() a = np.arange(100).reshape(10,10) cbarlevel=np.arange(0,101,10) contourf(a,levels=cbarlevel) cbar = colorbar() #cbar.set_ticks((cbarlevel[1:]+cbarlevel[:-1])/2.) cbar.set_ticks(cbarlevel) #to manipulate the range: cbar_label = [] for i in range(len(cbarlevel)-1): cbar_label.append({0}-{1}.format(cbarlevel[i],cbarlevel[i+1])) #cbar_label.append('') print cbar_label #['0-10', '10-20', '20-30', '30-40', '40-50', '50-60', '60-70', '70-80', #'80-90', '90-100', ''] #Then to apply on the colorbar: cbar.set_ticklabels(['']*len(cbarlevel)) ax = fig.axes[-1] #ax.yaxis.set_tick_params(length=0) yloc = linspace(0,1,len(cbar_label)+1) yloc = yloc[:-1] + yloc[1]/2. for l,y in zip(cbar_label,yloc): ax.text(1,y,l,transform=ax.transAxes,ha='left') draw() -Sterling On Nov 16, 2012, at 12:58PM, Chao YUE wrote: Thanks Sterling. It's a good idea. Unluckily, I lose the original ticks and the ticks appeared in the middle. Is there any approach I can keep the original ticks while realizing what has been shown in the figure? Chao On Fri, Nov 16, 2012 at 5:47 PM, Sterling Smith smit...@fusion.gat.com wrote: Chao, The secret is positioning your ticks. I list here an untested attempt at putting the labels at the average of the current and next levels: cbar.set_ticks((cbarlevel[1:]+cbarlevel[:-1])/2.) Because you have less ticks, then you will want to remove the line cbar_level.append('') Hope that helps, Sterling On Nov 16, 2012, at 7:46AM, ChaoYue wrote: I have a bit progress, but still not very well. #to have a contourf plot a = np.arange(100).reshape(10,10) cbarlevel=np.arange(0,101,10) contourf(a,levels=cbarlevel) cbar = colorbar() cbar.set_ticks(cbarlevel) #to manipulate the range: cbar_label = [] for i in range(len(cbarlevel)-1): cbar_label.append({0}-{1}.format(cbarlevel[i],cbarlevel[i+1])) cbar_label.append('') In [54]: print cbar_label ['0-10', '10-20', '20-30', '30-40', '40-50', '50-60', '60-70', '70-80', '80-90', '90-100', ''] #Then to apply on the colorbar: cbar.set_ticklabels(cbar_label) The generated figure is attached. But how can I put the labels a little bit upward to make them parallel with the respective small rectangles in the colorbar? http://matplotlib.1069221.n5.nabble.com/file/n39786/fig.jpg -- View this message in context: http://matplotlib.1069221.n5.nabble.com/how-to-put-colorbar-label-beside-the-handle-tp39705p39786.html Sent from the matplotlib - users mailing list archive at Nabble.com. -- Monitor your physical, virtual and cloud infrastructure from a single web console. Get in-depth insight into apps, servers, databases, vmware, SAP, cloud infrastructure, etc. Download 30-day Free Trial. Pricing starts from $795 for 25 servers or applications! http://p.sf.net/sfu/zoho_dev2dev_nov ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users -- *** Chao YUE Laboratoire des Sciences du Climat et de l'Environnement (LSCE-IPSL) UMR 1572 CEA-CNRS-UVSQ Batiment 712 - Pe 119 91191 GIF Sur YVETTE Cedex Tel: (33) 01 69 08 29 02; Fax:01.69.08.77.16 fig.jpg -- Monitor your physical, virtual and cloud infrastructure from a single web console. Get in-depth insight into apps, servers, databases, vmware, SAP, cloud infrastructure, etc. Download 30-day Free Trial. Pricing starts from $795 for 25 servers or applications! http://p.sf.net/sfu/zoho_dev2dev_nov ___ Matplotlib-users mailing list
Re: [Matplotlib-users] Why is pip not mentioned in the Installation Documentation?
On Nov 16, 2012, at 2:25PM, Russell E. Owen wrote: In article 50a61b5b.1090...@ed.ac.uk, Mathew Topper mathew.top...@ed.ac.uk wrote: Hi, I'm interested to know why the pip package manager is not more widely supported for installation of python packages like matplotlib? Matplotlib seems to be particularly slowly updated in the Fedora repositories, for example, so I often find that a source installation is necessary. I know this isn't especially difficult for the experienced user, but surely using something like pip would make this process for accessible for all users of python packages, particularly those that do not receive much attention from the big distribution maintainers? Yet, pip doesn't get a mention on the installation documentation of matplotlib or many other python packs. I would love to hear anyone's thoughts on this matter. Unfortunately pip cannot install binaries, so any user that tried to install matplotlib using pip would have to have a C compiler. Unfortunately many users do not have a compiler on MacOS and Windows. In addition, matplotlib has some important dependencies that may not be available on all systems. MacOS now includes all necessary libraries. I don't think that is true for most flavors linux (though there is probably an easy way to get all missing packages). I have no idea about Windows. I agree pip should be mentioned, but I don't see it as a viable mainstream means of installing matplotlib. (Does it even work with matplotlib? I've never tried it.) -- Russell pip is the only method I have used in my Linux work. -Sterling -- Monitor your physical, virtual and cloud infrastructure from a single web console. Get in-depth insight into apps, servers, databases, vmware, SAP, cloud infrastructure, etc. Download 30-day Free Trial. Pricing starts from $795 for 25 servers or applications! http://p.sf.net/sfu/zoho_dev2dev_nov ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users -- Monitor your physical, virtual and cloud infrastructure from a single web console. Get in-depth insight into apps, servers, databases, vmware, SAP, cloud infrastructure, etc. Download 30-day Free Trial. Pricing starts from $795 for 25 servers or applications! http://p.sf.net/sfu/zoho_dev2dev_nov ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users