我使用的是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()
返回:
我在行侧有重叠标签时遇到麻烦。根据提供的示例here,默认行为应该水平设置标签。这是一个错误吗?任何人都可以重现它吗?
答案 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()