【问题标题】:2 by 2 heatmap matrix visualization from grouped data来自分组数据的 2×2 热图矩阵可视化
【发布时间】:2021-08-27 23:31:42
【问题描述】:

我正在尝试创建一个 2 x 2 热图矩阵,但该矩阵如下所示,我想在每个矩阵上显示“计数”的数量。提前感谢大家的帮助!

我的代码是

pip.install heatmapz
from heatmap import heatmap, corrplot

    values = [
    ['Female','Female',190],
    ['Female','Male',131]],
    ['Female','Female',118]],
    ['Female','Female',327]]
]
df: pd.Dataframe = pd.DataFrame(values, columns = [ 'Gender_out','Gender_in','Count']

 heatmap(
        x= df['Gender_out'], 
        y= df['Gender_in'],
        color = df['Count'])

【问题讨论】:

  • 首先,数据不是二维格式的。此外,您没有定义部门组。这不是df吗? values = [['Female','Male',190],['Male','Female',131],['Female','Female',118],['Male','Male',327]]
  • 你是对的!我编辑了我的问题!谢谢!
  • 如果你也修改了数据,你会在问题的图片中看到图表。
  • 我用的是seaborn!效果很好。感谢您的帮助!

标签: python heatmap display


【解决方案1】:

我用的是seaborn,如果你能换个模块试试看。

values = [
        ['Female','Female',190],
        ['Female','Male',131],
        ['Female','Female',118],
        ['Female','Female',327],
        ['Male','Female',0]
        ]
df: pd.DataFrame = pd.DataFrame(values, columns = [ 'Gender_out','Gender_in','Count'])

A = pd.crosstab(df["Gender_out"], df["Gender_in"], df["Count"], aggfunc=sum)

import seaborn as sns; sns.set_theme()
XY = np.random.normal(0, 20, (10,10))
plt.figure(figsize=(10,10))
ax = sns.heatmap(A, annot=True, fmt="f")

https://seaborn.pydata.org/generated/seaborn.heatmap.html

【讨论】:

  • 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接答案可能会失效。 - From Review
  • 我正在尝试使用 seaborn heatmap 而不是 heatmpaz。我觉得我可以解决这个问题!谢谢!
  • 我添加了一些可能有用的示例(并避免我的帖子删除)。我对您的数据进行了一些修改,但我认为该示例足以让您从这里获取它。
  • 非常感谢您提供的示例,Marcello!我能够创建我想要的矩阵!谢谢阿甘!
猜你喜欢
  • 2019-03-02
  • 2012-01-19
  • 2014-05-27
  • 2016-03-09
  • 2013-02-28
  • 1970-01-01
  • 2021-12-01
  • 1970-01-01
  • 2019-10-10
相关资源
最近更新 更多