r - 为什么我无法更改此 sf 对象绘图的图例标题?
问题描述
我在一个名为“yield_annual_offshore_advantages”的向量中有一组基于点的数据,它对应于以瓦特*小时表示的能量值,并且可以映射到我从名为“网站总数”。使用下面的文本,我能够很好地显示要点和一切,但是图例有一个我想更改的标题。假设我想将其更改为“你好”。
我在下面的代码中做错了什么?如果我没记错的话,其他网站上也有类似的东西。
library(rnaturalearthdata)
library(rnaturalearth)
library(sf)
library(ggplot2)
world_map <- ne_coastline(scale = "medium", returnclass = "sf")
#ggplot2::ggplot(data = world_map)
ggplot2::ggplot(data = world_map) + geom_sf() + geom_point(data = totalityofsites[1:20,],
mapping = aes(x = lon, y = lat, color = (yield_annual_offshore_advantages/1000)), size = 3)
+ coord_sf(xlim = c(min(totalityofsites$lon)-10, max(totalityofsites$lon) + 10), ylim =
c(min(totalityofsites$lat)-10, max(totalityofsites$lat)+10), expand = F)
+ title(main = "Annual energy yield differences", legend(legend = "Hello")) + ggtitle("Annual values, in kWh")
感谢任何帮助。
FWIW 我将把上面的输出放在这里。
解决方案
您可以添加scale_colour_continuous(name = "hello")
到您的情节。这是包含一些虚构数据的完整代表:
library(rnaturalearthdata)
library(rnaturalearth)
library(sf)
#> Linking to GEOS 3.8.0, GDAL 3.0.4, PROJ 6.3.1
library(ggplot2)
world_map <- ne_coastline(scale = "medium", returnclass = "sf")
set.seed(69)
totalityofsites <-
data.frame(lon = runif(20, -100, 100), lat = runif(20, -90, 90),
yield_annual_offshore_advantages = runif(20, -2000, 2000))
ggplot2::ggplot(data = world_map) +
geom_sf() +
geom_point(data = totalityofsites[1:20,],
mapping = aes(x = lon, y = lat,
color = (yield_annual_offshore_advantages/1000)),
size = 3) +
coord_sf(xlim = c(min(totalityofsites$lon)-10,
max(totalityofsites$lon) + 10),
ylim = c(min(totalityofsites$lat)-10,
max(totalityofsites$lat)+10), expand = F) +
scale_colour_continuous(name = "hello") +
ggtitle("Annual values, in kWh")
由reprex 包(v0.3.0)于 2020 年 8 月 16 日创建
推荐阅读
- python - 什么时候不使用 asyncio 有意义?
- ios - 无法赋值:“图像”是一种方法
- linux - 如何从染色体中删除前导零:位置编号?
- java - 在 json 映射文件中放置 @JsonFormat 时处理异常。获取 400 异常
- ruby-on-rails - Refile + S3:删除附件并保留数据库记录
- java - 如何在 API 中返回单例列表?
- javascript - javascript如何进行比较?
- php - 在 laravel 5.8 中优化请求
- r - 在 R 中计算“长格式”数据框中的值
- reactjs - 如何显示本地内容 react-draft-wysiwyg