【问题标题】:get row names from sns.heatmap with yticklabels = "auto"使用 yticklabels = "auto" 从 sns.heatmap 获取行名
【发布时间】:2019-12-16 19:38:41
【问题描述】:

我有一个包含 399 行的 pandas 数据框,我正在使用它制作热图,并且正在使用 yticklabels = 'auto' 功能。

当我使用get_yticklabels() 选项时:

sns.heatmap(df, ax = ax, robust = True, yticklabels = "auto").get_yticklabels()

这会返回 <a list of 157 Text yticklabel objects>.

我尝试遍历列表,但我只是获取 <class 'matplotlib.text.Text'> 类的对象,其中条目将类似于 Text(0, 0.5, 'hello')。我无法访问该对象中的数据来提取字符串hello有没有办法做到这一点?

如何获取热图中使用的行列表而不是对象? 我的目标是仅提取 seaborn 热图中的数据框行,以进行进一步的下游分析。这就是为什么我需要这些值的列表。

【问题讨论】:

    标签: python-3.x data-visualization seaborn heatmap


    【解决方案1】:
    labels = [t.get_text() for t in ax.get_yticklabels()]
    

    将是 y 轴刻度标签的字符串列表。

    【讨论】:

    • 当我这样做时,我得到一个类似的字符串
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-15
    • 1970-01-01
    • 1970-01-01
    • 2021-08-11
    • 2013-04-09
    • 1970-01-01
    相关资源
    最近更新 更多