Re: [Matplotlib-users] Creating Dendrograms
On 9/12/06, John Hunter [EMAIL PROTECTED] wrote: Minor correction license. Fernando Perez did this with ipython, which was released under the LGPL and then re-released under a BSD license to ease integration with scipy and other enthought products. The LGPL is ^^^ matplotlib, scipy and... Integration and free back-and-forth code sharing with you was one of the main factors behind that decision. And just to provide a datapoint confirming John's argument, ipython was one of those cases where I chose LGPL out of pure ignorance and incomplete understanding. Regards, f - Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642 ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] Creating Dendrograms
I chose the GPL because it was the open source license I was aware of and didn't realize that it would create problems with reusability of the code. It is not my intention to restrict people from reusing the code. Indeed, I'd much prefer that people did reuse the code. Since that appears to mean switching to a BSD style license, I'll make that switch. -- R. Padraic Springuel Teaching Assistant Department of Physics and Astronomy University of Maine Bennett 309 Office Hours: Wednesday 2-3pm - Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642 ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] Creating Dendrograms
Have you thought about combining the dendrogram with a heatmap/colormap (e.g. http://www2.warwick.ac.uk/fac/sci/moac/currentstudents/peter_cock/python/heatmap/)? Could ClusterPlot be combined with pcolor() to do this? To be honest, I haven't thought about doing anything like this. While I'm using the Pycluster package to do my cluster analysis, I'm actually doing research in Physics Education, not genetics. As a result, I've never even seen diagrams like the one shown in the above link before. Looking at it, however, I imagine that with the judicious use of subplots, ClusterPlot could create the dendrograms in those images. Once direction control is added to ClusterPlot, that is. At this point I have thought about only two further extensions to ClusterPlot. The first is the afore mentioned one: allowing control of the direction of the dendrogram. Once that's implemented, I'd consider the code to be out of the beta stage. The other extension would be a modification to the coordinates function so that the vertical coordinates of the dendrogram don't have to follow the Pycluster distances in the tree. Pycluster doesn't support having anything other than a distance measure in that slot. Now, while Pycluster does have 8 different distance measures, I can imagine cases where one would prefer to spread the tree by a dissimilarity measure or some other metric. This modification should be simple enough to make, so it'll probably be included in the next update (which might come before full release). Finally, concerning the license discussion, I've posted version 0.6 which is released under the BSD-style license. Version 0.5, with its GPL license has been removed from the download site. http://www.umit.maine.edu/~r.springuel/000CCFE8-8018/ -- R. Padraic Springuel Teaching Assistant Department of Physics and Astronomy University of Maine Bennett 309 Office Hours: Wednesday 2-3pm - Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642 ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] Creating Dendrograms
Hi, Looks very interesting. Is there any chance that this will be eventually included in MPL? Or at least have a license similar to MPL? Have you thought about combining the dendrogram with a heatmap/colormap (e.g. http://www2.warwick.ac.uk/fac/sci/moac/currentstudents/peter_cock/python/heatmap/)? Could ClusterPlot be combined with pcolor() to do this? Mike On 9/12/06, R. Padraic Springuel [EMAIL PROTECTED] wrote: Stéfan suggested that I include an example script to show people what the package could do. I thought this was a good idea, so I wrote one and have uploaded a new version of the package with the example script. I've also added copyright and license information, for those that care. The most recent version is 0.5 and is downloadable from the same site as before: http://www.umit.maine.edu/~r.springuel/000CCFE8-8018/ -- R. Padraic Springuel Teaching Assistant Department of Physics and Astronomy University of Maine Bennett 309 Office Hours: By Appointment only during the Summer - Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642 ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users - Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642 ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] Creating Dendrograms
R == R Padraic Springuel [EMAIL PROTECTED] writes: R Stéfan suggested that I include an example script to show R people what the package could do. I thought this was a good R idea, so I wrote one and have uploaded a new version of the R package with the example script. I've also added copyright and R license information, for those that care. Hi this looks very nice. Are you sure you want to go with GPL? pycluster and the C clustering license, as well as matplotlib, scipy, and Numeric/numpy, are all based on BSD/PSF compatible licenses, and so none of these projects can reuse your code if it is GPL. Here is my licensing pitch on why I encourage people not to use the GPL, written for another project but applicable here... I'll start by summarizing what many of you already know about open source licenses. I believe this discussion is broadly correct, though it is not a legal document and if you want legally precise statements you should reference the original licenses cited here. The Open-Source-Initiative is a clearing house for OS licenses, so you can read more there. The two dominant license variants in the wild are GPL-style and BSD-style. There are countless other licenses that place specific restrictions on code reuse, but the purpose of this document is to discuss the differences between the GPL and BSD variants, specifically in regards to my experience developing matplotlib and in my discussions with other developers about licensing issues. The best known and perhaps most widely used license is the GPL, which in addition to granting you full rights to the source code including redistribution, carries with it an extra obligation. If you use GPL code in your own code, or link with it, your product must be released under a GPL compatible license. I.e., you are required to give the source code to other people and give them the right to redistribute it as well. Many of the most famous and widely used open source projects are released under the GPL, including linux, gcc and emacs. The second major class are the BSD-style licenses (which includes MIT and the python PSF license). These basically allow you to do whatever you want with the code: ignore it, include it in your own open source project, include it in your proprietary product, sell it, whatever. python itself is released under a BSD compatible license, in the sense that, quoting from the PSF license page There is no GPL-like copyleft restriction. Distributing binary-only versions of Python, modified or not, is allowed. There is no requirement to release any of your source code. You can also write extension modules for Python and provide them only in binary form. Famous projects released under a BSD-style license in the permissive sense of the last paragraph are the BSD operating system, python and TeX. I believe the choice of license is an important one, and I advocate a BSD-style license. In my experience, the most important commodity an open source project needs to succeed is users. Of course, doing something useful is a prerequisite to getting users, but I also believe users are something of a prerequisite to doing something useful. It is very difficult to design in a vacuum, and users drive good software by suggesting features and finding bugs. If you satisfy the needs of some users, you will inadvertently end up satisfying the needs of a large class of users. And users become developers, especially if they have some skills and find a feature they need implemented, or if they have a thesis to write. Once you have a lot of users and a number of developers, a network effect kicks in, exponentially increasing your users and developers. In open source parlance, this is sometimes called competing for mind share. So I believe the number one (or at least number two) commodity an open source project can possess is mind share, which means you want as many damned users using your software as you can get. Even though you are giving it away for free, you have to market your software, promote it, and support it as if you were getting paid for it. Now, how does this relate to licensing, you are asking? Many software companies will not use GPL code in their own software, even those that are highly committed to open source development, such as enthought, out of legitimate concern that use of the GPL will infect their code base by its viral nature. In effect, they want to retain the right to release some proprietary code. And in my experience, companies make for some of the best developers, because they have the resources to get a job done, even a boring one, if they need it in their code. Two of the matplotlib backends (FLTK and WX) were contributed by private sector companies who are using matplotlib either internally or in a commercial product -- I doubt these companies would have been
Re: [Matplotlib-users] Creating Dendrograms
Stéfan suggested that I include an example script to show people what the package could do. I thought this was a good idea, so I wrote one and have uploaded a new version of the package with the example script. I've also added copyright and license information, for those that care. The most recent version is 0.5 and is downloadable from the same site as before: http://www.umit.maine.edu/~r.springuel/000CCFE8-8018/ -- R. Padraic Springuel Teaching Assistant Department of Physics and Astronomy University of Maine Bennett 309 Office Hours: By Appointment only during the Summer - Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642 ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] Creating Dendrograms
Perhaps NetworkX https://networkx.lanl.gov/ will do what you want, depending on how much control you need over the node placement. There are a few more suggestions for general graph plotting solutions here: https://networkx.lanl.gov/wiki/Drawing. hth Gary R. R. Padraic Springuel wrote: Can Matplotlib create dendrograms? As best I can tell, there isn't a plotting function for doing so directly, but maybe one could make one by combining a series of commands. Has anyone done this? Does anyone know if it is possible, or if there is another package that would do the job if it isn't? - Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642 ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] Creating Dendrograms
I don't think that Matplotlib has such a plot, but I would also be interested in using such a plot - for presenting hierarchical clustering results. Michael On 8/31/06, R. Padraic Springuel [EMAIL PROTECTED] wrote: Can Matplotlib create dendrograms? As best I can tell, there isn't a plotting function for doing so directly, but maybe one could make one by combining a series of commands. Has anyone done this? Does anyone know if it is possible, or if there is another package that would do the job if it isn't? -- R. Padraic Springuel Teaching Assistant Department of Physics and Astronomy University of Maine Bennett 309 Office Hours: By Appointment only during the Summer - Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642 ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users - Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642 ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users