3

是否可以在 ggplot2 中用圆形而不是正方形绘制热图?不仅可以通过颜色渐变来表示值,还可以通过圆圈大小来表示值。我正在考虑一个像这个点热图这样的图表,其中圆的大小也由它们的特定值交替。我已经用 ggplot2 读懂了热图,但找不到解决方案。对于热图,我将 learnr.wordpress.com 上发布的示例更改为:

 library(ggplot2)
 library(plyr)
 library(reshape2)
 library(scales)
 kreuz <- read.csv("http://datasets.flowingdata.com/ppg2008.csv")
 kreuz.m <- melt(kreuz)
 (p <- ggplot(kreuz.m, aes(Name, variable)) +
   geom_tile(aes(fill = value), colour = "white") +
   scale_fill_gradient2(breaks=waiver(), name="binding strength", 
      low ="white", mid= ("lightblue"), high = "steelblue", midpoint = 4))
 base_size <- 10
 p + theme_grey(base_size = base_size) +
   theme(panel.grid.major = element_blank())+
   labs(x = "Patient ID", y = "Phage Motives", title = "Cross Reactivity")+
   scale_x_discrete(expand = c(0, 0)) +
   scale_y_discrete(expand = c(0, 0)) +
   theme(legend.position = "right", axis.ticks = element_blank(), 
      axis.text.x = element_text(size = base_size *0.8, angle = 270, hjust = 0,
      colour = "grey50"))+
   labs(x = "Patient ID", y = "Phagemotives", title = "cross reactivity")

我会非常感谢一些提示!

4

1 回答 1

1

在此示例中,大小和颜色都与变量值相对应,因为它是 kreuz.m 数据集中唯一可用的变量数值。

ggplot(kreuz.m, aes(Name, variable)) +
  geom_point(aes(size = value, colour=value))
于 2013-10-14T11:27:40.040 回答