r - 将图例标签更改为我想要的
问题描述
我正在尝试将情节图例中的标签更改为“一岁”和“成人”而不是“1”和“-1”。我首先运行这段代码来制作这个情节:
cols <- c("dodgerblue", "goldenrod") #designate colors
density_age_plot <- plot_model(density_model, type = "pred",
terms = c("density_std", "ageclass_std"),
color = cols, show.data = TRUE, jitter = 0.1,
axis.title = c("Density", "Proportional Mass Gain"),
title = "Density*Age Class", alpha = 0) +
theme_classic() +
labs(color = "Age Class") +
theme(legend.position = c(0.8, 0.9)) +
theme(plot.title = element_text(hjust = 0.5))
这是它制作的图表
然后我尝试density_age_plot + scale_color_discrete(labels = c("yearling", "adult"))
但我得到了这个错误:
“颜色”的比例已经存在。为“颜色”添加另一个比例,它将取代现有的比例。错误:提供给离散刻度的连续值
谁能帮我?ggplot2 不是我的事!谢谢!
解决方案
OP,您可能可以使用scale_color_manual()
. 这是一个代表,因为我没有你的数据。您将向量传递给values=
参数以控制颜色,并将向量传递给labels=
参数以控制标签。如果您提供命名向量,您可以明确指定哪个value
(颜色)或label
与每个因素相关联。否则,它将默认为因子级别或按字母数字顺序排列您的项目。
df <- data.frame(x=1:10, y=1:10, category = rep(c(1,-1), 5))
ggplot(df, aes(x,y,color=factor(category))) + geom_point() +
scale_color_manual(
values=c('1'='blue','-1'='red'),
labels=c('1'="positive",'-1'="negative"))
请注意,如果您将数字作为因子级别,则必须使用反引号语法来引用它们(因为名称不能是数字),但如果它是一个因子,引号可以正常工作。
没有scale_color_manual()
,它看起来像这样:
推荐阅读
- python - 使用python将xml输入文件转换为选定元素csv输出文件
- hybris - SAP Hybris B2c 1905 示例 yacceleratorstorefront url 未打开
- here-api - 如何使用 HERE API 使用 pincode 或区域名称获取本地区域?
- python - 如何在python中获取外部文件的文件大小?
- r - R:创建新列,其中一个与条件匹配的同一列中的值之间的差异
- command-line - 如何使用 git bash 执行静默安装
- scala - UDF 函数中数据帧的长度
- image - 如何将div中的图像与其他元素对齐
- bash - Docker 容器 - “Docker run”附加 bash 命令
- python - 您如何在 base64.b64encode 上使用变量参数,但是当我不使用提示窗口时?