On 25 September 2011 06:59, fdu.xia...@gmail.com <fdu.xia...@gmail.com> wrote: > Dear all, > > Heatmap (like those on the page > http://www2.warwick.ac.uk/fac/sci/moac/students/peter_cock/r/heatmap/) > is a frequently used type of image in microarray data analysis. However, > it seems there are no convenient functions in matplotlib to plot heatmap > (please correct me if I was wrong), so I'm planning to write my own. > > Let me take the heatmap by the link > http://www2.warwick.ac.uk/fac/sci/moac/students/peter_cock/r/heatmap/scaled_color_key.png > as an example, which is produced by R. > > With my limited knowledge and expertise of matplotlib, I have the > following questions and I hope you guys could help me. > > 1) I tend to use pcolor to draw the colormap in the central area. > However, I've seen a lot of examples draw colormap with imshow. > > What's the difference between pcolor and imshow? > Shall I use pcolor or imshow to produce the heatmap in the link above?
One difference between pcolor and imshow is that pcolor lines up the bottom-left corner of each square with the co-ordinates given, whereas imshow puts the grid center at those co-ordinates. My guess would be (not having implemented a heatmap) that pcolor would be the more useful to you to try first for this reason. > 2) How to draw the dendrograms on the top and left of the colormap? > > I got hints from > http://matplotlib.sourceforge.net/examples/axes_grid/scatter_hist.html > on how to append axes to current plot, but I still have now idea how to > draw the dengrograms. A quick google search suggests that scipy-cluster might help you out with the dendrogram drawing. I think I would try using separate axes objects for the heatmap and the dendrograms, and switch off the frames of the dendrogram axes. > 3) How to draw the column side colormap (the smaller one) between the > top dendrogram and the big colormap? This could another axes object too. You can use the sharex keyword to add_axes to get it to have the same x scale as the big axes. > 4) I can use colorbar to draw a colorbar, but how to place the colorbar > on the topleft of the image just as the R heatmap does? Again, the answer is to manually create the axes for your colorbar, and then specify those axes in the call to colorbar using the `cax` keyword. > 5) Any other suggestions on how to draw the heatmap? I suggest that you give it a try and post your efforts here if there are any problems. We'll also be keen to see the final result, if you'd like to share it. I hope that helps at least a little. Happy coding, Angus -- AJC McMorland Post-doctoral research fellow Neurobiology, University of Pittsburgh ------------------------------------------------------------------------------ All the data continuously generated in your IT infrastructure contains a definitive record of customers, application performance, security threats, fraudulent activity and more. Splunk takes this data and makes sense of it. Business sense. IT sense. Common sense. http://p.sf.net/sfu/splunk-d2dcopy1 _______________________________________________ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users