matplotlibscipyhierarchical-clustering

With SciPy dendrogram, can I change the linewidth?


I'm making a big dendrogram using SciPy and in the resulting dendrogram the line thickness makes it hard to see detail. I want to decrease the line thickness to make it easier to see and more MatLab like. Any suggestions?

I'm doing:

import scipy.cluster.hierarchy as hicl
from pylab import savefig

distance = #distance matrix

links = hicl.linkage(distance,method='average')
pden = hicl.dendrogram(links,color_threshold=optcutoff[0], ...
       count_sort=True,no_labels=True)
savefig('foo.pdf')

And getting a result like this.


Solution

  • Set the default linewidth before calling dendrogram. For example:

    import scipy.cluster.hierarchy as hicl
    from pylab import savefig
    import matplotlib
    
    
    # Override the default linewidth.
    matplotlib.rcParams['lines.linewidth'] = 0.5
    
    distance = #distance matrix
    
    links = hicl.linkage(distance,method='average')
    pden = hicl.dendrogram(links,color_threshold=optcutoff[0], ...
           count_sort=True,no_labels=True)
    savefig('foo.pdf')
    

    See Customizing matplotlib for more information.