首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >有没有办法将调色板添加到尺寸美学中?

有没有办法将调色板添加到尺寸美学中?
EN

Stack Overflow用户
提问于 2021-09-17 22:32:13
回答 1查看 36关注 0票数 2

我正在编写下一段代码:可以工作的ggplot()+ geom_sf(data = DPEst_DH, aes(size = di1a), col="orangered")

但我想要一个彩色的传说。

换句话说,我想在两种美学上应用相同的领域,大小和颜色,但保留一个图例。

代码语言:javascript
运行
复制
...+ geom_sf(data = DPEst_DH, aes(color=di1a, size=di1a))

有了这行代码,我得到了下一个输出,但我想知道是否可能有类似于最后一个图像的东西。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-09-18 06:47:42

实现您想要的结果的一种选择是使用例如cut使您的di1a列成为离散变量,并通过scale_xxx_manual设置颜色和大小。

使用sf软件包附带的nc形状文件作为示例数据:

代码语言:javascript
运行
复制
library(ggplot2)
library(dplyr)

# Example data
nc_center <- sf::st_read(system.file("shape/nc.shp", package = "sf"), quiet = TRUE) %>% 
  sf::st_centroid() 

# Bin numeric variable
labels <- pretty(range(nc_center$AREA))
breaks <- c(labels, Inf)
nc_center <- nc_center %>% 
  mutate(area = cut(AREA, breaks = breaks, labels = labels, right = FALSE))

# Color and size palette
colors <- c("#132B43", "#56B1F7") # Default ggplot2 blue colors used for color gradient
pal <- colorRampPalette(colors)(length(labels))
pal_size <- seq(1, 6, length.out = 5) # c(1, 6): Default range for size scale

ggplot() +
  geom_sf(data = nc_center, aes(color = area, size = area)) +
  scale_color_manual(values = pal) +
  scale_size_manual(values = pal_size)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69230100

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档