R 在geom_smooth()中调整大小会使具有不同线型的图例看起来相同
我想画六种不同的线型,例如:R 在geom_smooth()中调整大小会使具有不同线型的图例看起来相同,r,ggplot2,R,Ggplot2,我想画六种不同的线型,例如: d = data.frame( x=sample(1:100,30,rep=T), y=sample(1:100,30,rep=T), exp=rep(c("foo","bar","baz","yak","yaz","bla"),5) ) ggplot(d, aes(x, y, color=exp, lty=exp)) + geom_point(alpha=0.15) + geom_smooth(size=2) 这给了我以下的传说: 显然,siz
d = data.frame(
x=sample(1:100,30,rep=T),
y=sample(1:100,30,rep=T),
exp=rep(c("foo","bar","baz","yak","yaz","bla"),5)
)
ggplot(d, aes(x, y, color=exp, lty=exp)) +
geom_point(alpha=0.15) +
geom_smooth(size=2)
这给了我以下的传说:
显然,size=2
改变了这里的外观,现在您无法再区分不同的线型了。级别1、3和4看起来很相似,级别5和级别6也一样。当我将其调整为size=1
(或完全忽略大小)时,我得到了所需的结果:
是否有任何方法可以为图例中的不同线型获得有意义的表示,即使绘图中的线条本身比默认线条厚?您可以通过调整图例属性的
大小或宽度来实现这一点。这些例子都是直接取自
(或)
也就是说,试试这个:
ggplot(d, aes(x, y, color=exp, lty=exp)) +
geom_point(alpha=0.15) +
geom_smooth(size=2) +
theme(legend.key.size = unit(2, "cm"))
注意:如果出现unit()
未找到错误,则可能需要加载require(网格)
编辑:以下是我使用此代码得到的绘图,例如您发布的示例:
ggplot(d, aes(x, y, color=exp, lty=exp)) +
geom_point(alpha=0.15) +
geom_smooth(size=2, se=FALSE) +
theme(legend.key.size = unit(2, "cm"))
您可以通过调整图例属性的大小
或宽度
来实现这一点。这些例子都是直接取自
(或)
也就是说,试试这个:
ggplot(d, aes(x, y, color=exp, lty=exp)) +
geom_point(alpha=0.15) +
geom_smooth(size=2) +
theme(legend.key.size = unit(2, "cm"))
注意:如果出现unit()
未找到错误,则可能需要加载require(网格)
编辑:以下是我使用此代码得到的绘图,例如您发布的示例:
ggplot(d, aes(x, y, color=exp, lty=exp)) +
geom_point(alpha=0.15) +
geom_smooth(size=2, se=FALSE) +
theme(legend.key.size = unit(2, "cm"))
你好!请把你的文章复制出来。阅读关于如何做到这一点的帖子。谢谢。我添加了一个更具体的例子。谢谢你的提示。你好!请把你的文章复制出来。阅读关于如何做到这一点的帖子。谢谢。我添加了一个更具体的例子。谢谢你的提示,太棒了,谢谢你。这也是我第一次看到维基。刚刚看过官方文件。太棒了,谢谢。这也是我第一次看到维基。刚刚看过官方文件。