【问题标题】:ggplot - Controlling each component of the legendggplot - 控制图例的每个组件
【发布时间】:2018-03-23 13:35:09
【问题描述】:

我用大小和颜色创建了一个简单的图:

my.df <- data.frame(x=c(1,2,3,4), y=c(1,2,3,4), grp=c("a", "a", "b", "b"), 
wt=c(1,2,3,4))
p1 <- ggplot(my.df, aes(x, y, col=grp, size=wt)) + geom_point()
p1 <- p1 + scale_colour_manual(values=c("red", "blue"), name="Group")
p1 <- p1 + scale_size(name="Size")
p1 <- p1 + theme(legend.position = c(0.85, 0.35))
p1

默认情况下,大小和颜色的图例是相互重叠的 (我可以很容易地选择两者中的哪一个在上面)。

我希望它们在我的情节中并排出现。 (或者我想将它们分开放置的任何地方。)

guide_legend() 中没有“位置”,这将是一种方便的处理方式。并且 theme(legend.position) 只能用于定义单个位置。

我该如何解决我的问题?

【问题讨论】:

标签: r ggplot2 position legend


【解决方案1】:

除了指定位置legend.position之外,您还可以定义legend.box = "horizontal"

p1 <- ggplot(my.df, aes(x, y, col=grp, size=wt)) + geom_point()  + 
  scale_colour_manual(values=c("red", "blue"), name="Group") + 
  scale_size(name="Size")

p1 + theme(legend.box = "horizontal", legend.position = c(0.85, 0.35))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-05-23
    • 1970-01-01
    • 1970-01-01
    • 2018-11-03
    • 1970-01-01
    • 2015-07-04
    • 2022-09-24
    • 2022-11-22
    相关资源
    最近更新 更多