R 如何使用ggplot制作与密度图外观相同的水平图
我喜欢ggplot视图的密度图(如下所示)。我想知道如何使用一组插入的数据(数据:)生成类似的图形。换句话说,我想要一个具有离散轮廓和着色颜色的图 我将感谢你的帮助 例如: 使用lattice软件包可以制作相同的绘图:R 如何使用ggplot制作与密度图外观相同的水平图,r,ggplot2,contour,density-plot,R,Ggplot2,Contour,Density Plot,我喜欢ggplot视图的密度图(如下所示)。我想知道如何使用一组插入的数据(数据:)生成类似的图形。换句话说,我想要一个具有离散轮廓和着色颜色的图 我将感谢你的帮助 例如: 使用lattice软件包可以制作相同的绘图: library(ggplot2) library(lattice) library(latticeExtra) data=read.table("data.txt",header = T,sep = ";") #discrete field levelplot(var~lon
library(ggplot2)
library(lattice)
library(latticeExtra)
data=read.table("data.txt",header = T,sep = ";")
#discrete field
levelplot(var~long+lat,data = data,contour=T)
但是,在ggplot中,当我应用密度图时,我得到了这个结果:
ggplot(data,aes(x=long,y=lat))+geom_density2d(aes(fill=var))+theme_bw()
我不想做密度图。我只想做一个图,看起来像图1中的密度图 使用
ggplot
我相信您需要类似于ggplot(dat,aes(long,lat,fill=var))+geom_光栅()的功能,而不是geom_density2d
功能。默认的填充功能是连续的,如下所示。其他人可以指向使用离散颜色的函数
对于lattice,必须为levelplot
函数和colorkey
参数列表以及colorkey
参数中的标签
参数列表提供颜色和断点。这不是很明显……但这里有一个例子
# dat <- read.delim(f, sep = ";")
myCol <- brewer.pal(11, "RdYlBu")[c(6,8:11)]
breaks <- seq(min(dat$var), max(dat$var), len = 6)
levelplot(var ~ long + lat, data = dat,
at = breaks,
col.regions = myCol,
colorkey = list(col = myCol, at = breaks,
labels = list(at = breaks, labels = round(breaks))
)
)
#dat请制作一个简单的可复制示例,显示您当前拥有的“水平图”,包括问题中的一些示例数据。这将使它更有可能得到有用的答案。我将在标准帖子中提供更多细节。对不起,我的英语不好。