Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R中的热图或密度图_R_Plot_Ggplot2 - Fatal编程技术网

R中的热图或密度图

R中的热图或密度图,r,plot,ggplot2,R,Plot,Ggplot2,我是R新手,正在尝试创建热图或密度图来显示我的结果。我有20个不同地点和20年的x数据。我试图在同一张地图上显示不同的位置和年份。我的数据是这样的 1975 1977 1979 1981 1983 1985 1987 1989 Dallas 25 28 27 29 31 33 35 37 Houston 33 38 43 48 53 58 63 68 Lubbock 28 29 31 33 35 37 3

我是R新手,正在尝试创建热图或密度图来显示我的结果。我有20个不同地点和20年的x数据。我试图在同一张地图上显示不同的位置和年份。我的数据是这样的

    1975    1977    1979    1981    1983    1985    1987    1989
Dallas  25  28  27  29  31  33  35  37
Houston 33  38  43  48  53  58  63  68
Lubbock 28  29  31  33  35  37  39  41
Austin  22  24  26  28  30  32  34  36
San Antonio 31  32  33  34  35  36  37  38

谢谢您的帮助。

您只需使用
image()
函数创建热图即可。通过指定
col
参数指定颜色进行自定义

请注意,如果当前正在使用data.frame,则可能需要将其转换为矩阵:

 image(as.matrix(myVar))

或者,您可以使用ggplot2制作热图,只需使用(
geom_tile
)。有关非常详细的示例,请参见。

有关漂亮的image()类型打印,您需要在轴上添加一些标签。此外,颜色图例将有助于解释颜色。我的博客有一个功能,可以将这个比例添加到图像绘图中。下面是一个示例(从menugget加载image.scale函数后):

years <- seq(1975,1989,2)
db <- data.frame(Dallas=c( 25, 28, 27, 29, 31, 33, 35, 37),
 Houston=c( 33, 38, 43, 48, 53, 58, 63, 68),
 Lubbock=c( 28, 29, 31, 33, 35, 37, 39, 41),
 Austin= c(22, 24, 26, 28, 30, 32, 34, 36),
 San_Antonio= c(31, 32, 33, 34, 35, 36, 37, 38)
)
db <- as.matrix(db)

#plot
layout(matrix(c(1,2), nrow=1, ncol=2), widths=c(4,1), heights=c(4))
layout.show(2)
par(mar=c(5,5,1,1))
image(x=years, z=db, yaxt="n")
axis(2, at=seq(0,1,,dim(db)[2]), labels=colnames(db))
#image.scale from http://menugget.blogspot.de/2011/08/adding-scale-to-image-plot.html
par(mar=c(5,0,1,5))
image.scale(db, horiz=FALSE, yaxt="n", xaxt="n", xlab="", ylab="")
axis(4)
mtext("temp", side=4, line=2)
box()

years还可以查看以下链接:。这只是在SO中搜索
[r]热图时的前几个链接。@PaulHiemstra似乎是重复的,那么-这些问题的答案有点稀疏,但看起来所有信息都在那里,对吗?可能是重复的