我有一個資料框,其中我將一個位置的點著色為黑色,另一個位置的點為白色。在ggplot中,白點顯示正常;它們有一個白色填充的黑色邊緣。但是,在圖例中,白點不再有黑邊。如何讓圖例中的白點具有黑色邊緣?
示例代碼:
library(ggplot2)
set.seed(321)
dat <- data.frame(matrix(ncol = 3, nrow = 6))
x <- c("Location","Month", "Value")
colnames(dat) <- x
dat$Location <- c("North","North","North","South","South","South")
dat$Month <- rep(c(1,2,3),2)
dat$Value <- rnorm(6,20,5)
cols <- c("South" = "black", "North" = "white")
ggplot(data = dat, aes(x = Month, y = Value, group = Location))
geom_point(aes(color = Location, fill = Location), size = 3)
geom_point(size = 3, shape = 21, color = "black")
scale_color_manual(values = cols)
theme_bw()
theme(panel.grid = element_blank(),
text = element_text(size = 16),
axis.text.x = element_text(size = 14, color = "black"),
axis.text.y = element_text(size = 14, color = "black"),
legend.title = element_blank(),
legend.text = element_text(size = 16, color = "black"),
legend.position = c(0.1,0.1),
legend.key = element_blank(),
legend.background = element_blank())
我可以用類似的東西在圖上添加另一個點,geom_point(aes(x=1.1,y=16),size = 3.8, shape = 21, color = 'black') 但這很草率,在重新格式化圖形高度或寬度時效果不佳。
uj5u.com熱心網友回復:
如果您使用其中一種填充形狀,例如shape = 21,則可以分別控制邊框(帶color,默認為黑色)和填充(帶fill)。因此,要獲得帶有黑色邊距的純黑點和白點的組合,您可以使用一個 geom 圖層,并應獲得適當的圖例:
...
geom_point(aes(fill = Location), shape = 21, size = 3)
scale_fill_manual(values = cols)
...
[這里的圖例移動到 0.8,0.8:]

轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/341821.html
下一篇:如何插入放置在時間軸上的點的值?
