r - 如何在ggplot2中手动更改线型
问题描述
我想在 ggplot 的交互图中手动更改几行的线型。本质上,x = 连续 y = 连续,主持人 = 分类(5 个级别)。
我已经使用 scale_linetype_manual 参数指定了所需的线型,但无论出于何种原因,线型都没有改变。我能够成功更改线条颜色但不能更改线型。
ggplot(data=subset(study6, !is.na(condition_control)), aes(x=attitude, y=support, color=condition_control)) +
stat_smooth(method="lm", se = FALSE) +
labs(x ="Initial attitudes", y = "Policy support") +
guides(color=guide_legend(title="Condition")) +
scale_linetype_manual(values=c("solid", "dashed", "solid", "dashed", "solid")) +
scale_color_manual(values=c("red", "gray70", "gray70", "black", "black")) +
theme_bw()
也许问题与分类调节变量(condition_control)有关?您对此事的任何建议将不胜感激。
解决方案
对于可能遇到此问题的其他人,我想通了!
您必须在 aes 函数中将主持人指定为颜色和线型。(注意:这将为您提供两个不同的图例,因此您必须确保为每个图例赋予相同的标题才能将它们折叠成一个图例。)
ggplot(data=subset(study6, !is.na(condition_control)), aes(x=attitude, y=support, color=condition_control, linetype = condition_control)) +
stat_smooth(method="lm", se = FALSE) +
labs(x ="Initial attitudes", y = "Policy support") +
guides(color=guide_legend(title="Condition")) +
scale_linetype_manual("Condition", values=c("solid", "twodash", "solid", "twodash", "solid")) +
scale_color_manual("Condition", values=c("red", "gray70", "gray70", "black", "black")) +
theme_bw()
推荐阅读
- java - 如何在 Nebula ospackage 中使用带有特定 rpm 版本的 `requires` 指令?
- reactjs - 如何在事件处理程序中使用 React useState 挂钩禁用按钮
- python - 使用 numpy 获取数组列表中相交元素的计数(避免 for 循环)
- ruby-on-rails - Rails 6 ActiveStorage附加文件网址不起作用
- c - exec() 在这个程序中做了什么?它会停止运行吗?
- google-maps - 由 ui.platformViewRegistry.registerViewFactory 类创建的 Flutter 更新元素
- java - JAVA,null转int,但运行有异常
- revision-history - AWS QLDB 删除记录及其修订历史
- css - 将 Vue 应用程序打印为 pdf 时,Google 字体会阻止选择文本
- plot - Bokeh HoverTool 不适用于 multi_line