使用seaborn重叠标签聚类pandas数据框

时间:2015-12-31 16:01:36

标签: python pandas matplotlib seaborn

我使用的是Mac OS 10.10.2,Python 2.7.11,Seaborn 0.6.0,pandas 0.17.1,matplotlib 1.5.0。我正在运行以下代码,使用seaborn.clustermap

对数据框进行分层聚类
import pandas as pd
import random
import matplotlib.pyplot as plt
import seaborn as sns

df = pd.DataFrame()

df['x'] = random.sample(range(1, 100), 25)
df['y'] = random.sample(range(1, 100), 25)

L = []
for i in range(25):
    L.append('longlonglabel' + str(i))

df.index = L
sns.clustermap(df)
plt.show()

返回:

enter image description here

我在行侧有重叠标签时遇到麻烦。根据提供的示例here,默认行为应该水平设置标签。这是一个错误吗?任何人都可以重现它吗?

1 个答案:

答案 0 :(得分:1)

水平设置标签的解决方法如下:

import pandas as pd
import random
import matplotlib.pyplot as plt
import seaborn as sns

df = pd.DataFrame()

df['x'] = random.sample(range(1, 100), 25)
df['y'] = random.sample(range(1, 100), 25)

L = []
for i in range(25):
    L.append('longlonglabel' + str(i))

df.index = L
cg = sns.clustermap(df)

# Iterate over the labels
for text in cg.ax_heatmap.get_yticklabels():
    text.set_rotation('horizontal')

plt.show()