【问题标题】:Heatmap showing two variables per cell热图显示每个单元格的两个变量
【发布时间】:2020-03-10 20:57:57
【问题描述】:

我看到一个其他人制作的类似于热图的图形,但他们能够通过在每个单元格中使用不同大小的圆圈来显示两个变量,因此一个变量由圆圈的阴影表示,另一个由圆的大小。有谁知道如何制作这样的人物?他们说他们是在 R 中实现的,但如果在 python 中可行的话,我更喜欢。

【问题讨论】:

  • 如果您包含一个简单的reproducible example,其中包含可用于测试和验证可能解决方案的示例输入和所需输出,则更容易为您提供帮助。
  • 您可以将 corrplot 与 dc37 答案中的数据一起使用吗? corrplot 似乎仍然只绘制一个变量,但用圆的大小显示绝对值,用色标显示 pos/neg。

标签: python r ggplot2


【解决方案1】:

使用这个带有两个变量 var1 和 var2 以及颜色和大小相关值的虚拟数据框:

df <- expand.grid(data.frame(var1 = LETTERS[1:5],
                             var2 = letters[1:5]))
df$color= sample(2:100,25)
df$size = sample(2:100,25)

  var1 var2 color size
1    A    a    78   35
2    B    a    64   54
3    C    a    95   25
4    D    a    51   88
5    E    a    63   92
6    A    b    36    4

使用R 中的ggplot2,您可以通过使用geom_point 并将colorsize 参数传递到@987654329 的aes 来绘制具有大小和不同颜色的圆圈的“热图” @。我添加geom_tile 以便在每个点周围绘制正方形。

ggplot(df, aes(x= var1, y = var2))+
  geom_tile(fill = "white", color = "black")+
  geom_point(aes(color = color, size = size))+
  scale_size_continuous(range = c(1,15))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-13
    • 1970-01-01
    • 1970-01-01
    • 2011-12-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多