R 中的异常热图
Discontionous heatmap in R
我希望在 R 中创建类似于以下类型的不连续热图:
我的数据整理如下:
k_e percent time
.. .. ..
.. .. ..
我希望 k_e
是 x 轴,percent
在 y 轴上,time
表示颜色。
我能找到的所有链接都绘制了连续矩阵 http://www.r-bloggers.com/ggheat-a-ggplot2-style-heatmap-function/ 或插值。但我不希望上述两种情况,我想绘制不连续的热图,如上图所示。
第二个是六边形图
如果你的 (x,y) 对是唯一的,你可以做一个 x y 图,如果这是你想要的,你可以尝试使用基本 R plot 函数:
x <- runif(100)
y<-runif(100)
time<-runif(100)
pal <- colorRampPalette(c('white','black'))
#cut creates 10 breaks and classify all the values in the time vector in
#one of the breaks, each of these values is then indexed by a color in the
#pal colorRampPalette.
cols <- pal(10)[as.numeric(cut(time,breaks = 10))]
#plot(x,y) creates the plot, pch sets the symbol to use and col the color
of the points
plot(x,y,pch=19,col = cols)
有了ggplot,你也可以试试:
library(ggplot2)
qplot(x,y,color=time)
生成数据
d <- data.frame(x=runif(100),y=runif(100),w=runif(100))
使用ggplot2
require(ggplot2)
样本数
以下代码生成不连续的热图,其中颜色表示落入垃圾箱的项目数:
ggplot(d,aes(x=x,y=y)) + stat_bin2d(bins=10)
平均体重
以下代码创建了一个不连续的热图,其中颜色表示当前 bin 内所有样本的变量 w
的平均值。
ggplot(d,aes(x=x,y=y,z=w)) + stat_summary2d(bins=10)
我希望在 R 中创建类似于以下类型的不连续热图:
我的数据整理如下:
k_e percent time
.. .. ..
.. .. ..
我希望 k_e
是 x 轴,percent
在 y 轴上,time
表示颜色。
我能找到的所有链接都绘制了连续矩阵 http://www.r-bloggers.com/ggheat-a-ggplot2-style-heatmap-function/ 或插值。但我不希望上述两种情况,我想绘制不连续的热图,如上图所示。
第二个是六边形图 如果你的 (x,y) 对是唯一的,你可以做一个 x y 图,如果这是你想要的,你可以尝试使用基本 R plot 函数:
x <- runif(100)
y<-runif(100)
time<-runif(100)
pal <- colorRampPalette(c('white','black'))
#cut creates 10 breaks and classify all the values in the time vector in
#one of the breaks, each of these values is then indexed by a color in the
#pal colorRampPalette.
cols <- pal(10)[as.numeric(cut(time,breaks = 10))]
#plot(x,y) creates the plot, pch sets the symbol to use and col the color
of the points
plot(x,y,pch=19,col = cols)
有了ggplot,你也可以试试:
library(ggplot2)
qplot(x,y,color=time)
生成数据
d <- data.frame(x=runif(100),y=runif(100),w=runif(100))
使用ggplot2
require(ggplot2)
样本数
以下代码生成不连续的热图,其中颜色表示落入垃圾箱的项目数:
ggplot(d,aes(x=x,y=y)) + stat_bin2d(bins=10)
平均体重
以下代码创建了一个不连续的热图,其中颜色表示当前 bin 内所有样本的变量 w
的平均值。
ggplot(d,aes(x=x,y=y,z=w)) + stat_summary2d(bins=10)