首页 > 解决方案 > R中对应点负值和正值的气泡图

问题描述

我想绘制我的数据的气泡。

这是我已经拥有的:

library(sp)
library(rgdal)
require(gstat)
setwd("C:/Users/49151/Desktop")

#import data
data <- read.csv("kerpentest0909x.csv")

head(data)

hist(data$Z, breaks = 20, xlab = "subsidence rates (mm/year)", main = "Histogram of subsidence at Kreuz Kerpen")
summary(data$Z)

#if slght skewedness 
#data$Z.1 <- log10(data$Z)
#hist(data$Z.1, breaks = 10, xlab = "subsidence rates (mm/year)", main = "Histogram of subsidence at Kreuz Kerpen")

#convert data
coordinates(data) <- c("X", "Y")
#assigning projection
proj4string(data) <-CRS("+init=epsg:32632")

plot(data, asp=1, pch=1)

plot(data, asp=1, cex=4*data$Z/max(data$Z), pch=1)

绘图功能给了我这个:

在此处输入图像描述

它向我展示了高积极的价值观。但是,我缺乏 R 经验来执行以下操作:向我展示高负值和高正值以及两者之间的颜色区别。如果可能的话,我想看看每个点的值。这是我的数据:https ://ufile.io/lne90ray

标签: rplotgdalgstat

解决方案


这是一种使用sfand ggplot2...
为了使绘图在视觉上更清晰,为点添加颜色并设置alpha为 0.5,因为绘图非常拥挤。您可以轻松地编辑外观以满足您的需求。

library(sf)
library(ggplot2)

#import data
data <- read.csv("kerpentest0909x.csv")

data1 <- 
  st_as_sf(data, coords = c("X", "Y"), crs = 32632)

ggplot() + 
  geom_sf(data = data1, aes(size = Z, fill = Z), shape = 21, alpha = 0.5)+
  scale_fill_gradient(low = "red", high = "green")+
  theme_bw()

reprex 包于 2021-09-17 创建 (v2.0.0 )


推荐阅读