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

Reply via email to