相关疑难解决方法(0)

在不影响绘图的情况下控制ggplot2图例

我正在用ggplot2绘制线条,如下所示:

ggplot(iris, aes(Petal.Width,Petal.Length,color=Species)) + geom_line() + theme_bw()
Run Code Online (Sandbox Code Playgroud)

目前的情节.

我发现传奇标记很小,所以我希望它们更大.如果我改变大小,情节上的线条也会改变:

ggplot(iris, aes(Petal.Width,Petal.Length,color=Species)) + geom_line(size=4) + theme_bw()
Run Code Online (Sandbox Code Playgroud)

厚厚的情节线条.

但是我只想在图例中看到粗线,我希望图上的线条很薄.我尝试使用,legend.key.size但它改变了标记的正方形,而不是线条的宽度:

library(grid)  # for unit
ggplot(iris,aes(Petal.Width,Petal.Length,color=Species))+geom_line()+theme_bw() + theme(legend.key.size=unit(1,"cm"))
Run Code Online (Sandbox Code Playgroud)

大传奇钥匙

我也尝试过使用积分:

ggplot(iris,aes(Petal.Width,Petal.Length,color=Species)) + geom_line() + geom_point(size=4) + theme_bw()
Run Code Online (Sandbox Code Playgroud)

但当然它仍会影响情节和传奇:

点

我想使用线条和图例的点/点.

所以我要问两件事:

  1. 如何在不改变图的情况下改变图例中的线宽?
  2. 如何在绘图中绘制线条,但在图例中绘制点/点/方块?

plot r legend ggplot2

68
推荐指数
1
解决办法
3万
查看次数

在ggplot2中叠加条形图

我正试图覆盖条形图 ggplot2

我当前的代码生成条形图,但它们堆叠在一起.我不想要这个,我希望它们叠加,所以我可以看到每个条形高度的差异.

码:

library(ggplot2)
library(reshape)


x = c("Band 1", "Band 2", "Band 3")
y1 = c("1","2","3")
y2 = c("2","3","4")

to_plot <- data.frame(x=x,y1=y1,y2=y2)
melted<-melt(to_plot, id="x")

print(ggplot(melted,aes(x=x,y=value,fill=variable)) + geom_bar(stat="identity", alpha=.3))
Run Code Online (Sandbox Code Playgroud)

堆叠输出:

在此输入图像描述

r ggplot2

11
推荐指数
1
解决办法
2万
查看次数

标签 统计

ggplot2 ×2

r ×2

legend ×1

plot ×1