【问题标题】:Seaborn clustermap as a subplotSeaborn 聚类图作为子图
【发布时间】:2016-08-06 03:32:33
【问题描述】:

seaborn clustermap 似乎是一个图形级绘图,它在内部创建自己的图形和轴。

我想使用集群作为子图,以便能够在同一个图上添加额外的图(例如,热图顶部的箱线图)。

我怎样才能做到这一点?

谢谢

clustermap 示例:

import numpy as np
import pandas as pd
import seaborn as sns

nb_features = 20

tmp = [v for v in zip(np.repeat(['A', 'B'], 5), 
       np.hstack([range(5), range(5)]))]
index = pd.MultiIndex.from_tuples(tmp)

df = pd.DataFrame(np.vstack([np.random.rand(5, nb_features) + 1, 
                             np.random.rand(5, nb_features) - 1]), index=index).T

# Returns a seaborn.matrix.ClusterGrid
cax = sns.clustermap(df)

【问题讨论】:

标签: python pandas seaborn


【解决方案1】:

您可以在图中添加一些空间,例如通过subplots_adjust()。 然后你可以通过fig.add_axes([x, y, width, height])添加一个新轴(以figure coordinates表示)。

这是一个例子:

import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np

sns.set_theme(color_codes=True)
iris = sns.load_dataset("iris")
species = iris.pop("species")
g = sns.clustermap(iris)
g.fig.set_size_inches(20, 10)
g.fig.subplots_adjust(right=0.5)
ax = g.fig.add_axes([0.55, 0.05, 0.42, 0.92])
ax.plot(np.random.randn(1000).cumsum())
plt.plot()

【讨论】:

    猜你喜欢
    • 2020-08-22
    • 1970-01-01
    • 2017-05-14
    • 2020-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多