r - 使用不同的几何图形时,ggplot2 chage 图例键从交叉到线
问题描述
我有这个代码
library(tidyverse)
df=mammals
ggplot(df, aes(log(body))) +
stat_bin(aes(y = ..density..)) +
stat_function(fun = "dnorm",
aes(color = "a",
linetype = "a")) +
geom_vline(aes(
xintercept = -4,
color = "b",
linetype = "b"
)) +
geom_vline(aes(
xintercept = -3,
color = "c",
linetype = "b"
)) +
guides(linetype = FALSE)
这产生了这个情节:
但是,我不希望有十字架。我想有线条。在最好的情况下,它们将是坚实的和虚线的。我尝试了这个,但只取得了部分成功(我也不确定为什么我必须overwrite.aes
输入"b"
两次......):
library(tidyverse)
df = mammals
ggplot(df, aes(log(body))) +
stat_bin(aes(y = ..density..)) +
stat_function(fun = "dnorm",
aes(color = "a",
linetype = "a")) +
geom_vline(aes(
xintercept = -4,
color = "b",
linetype = "b"
)) +
geom_vline(aes(
xintercept = -3,
color = "c",
linetype = "b"
)) +
guides(linetype = FALSE, color = guide_legend(override.aes = list(
linetype = c("a" = "dashed", "b" = "solid", "b" = "solid")
)))
但是我不知道如何将图例符号更改为一条线。
解决方案
推荐阅读
- xpath - 如何在 Excel/Google 表格中抓取网站?
- vba - 如何优化以下 VBA/Excel 代码?
- amazon-web-services - 查询 DynamoDB 时出现空响应
- java - 将字符串转换为int数组后如何正确减去从字符串中取出的2个数字
- php - 我怎样才能在这里避免嵌套循环?使用 php
- angular - 当firebase中的数据发生变化时如何更新快照的本地副本?
- flutter - 如何删除颤振模拟器
- linux - Why Contiguous memory allocation is required in linux?
- r - 将字符 YYYY-MM-00 转换为 R 中的日期 YYYY-MM
- python - LaunchDarkly 带有 celery 的功能标志