首页 > 解决方案 > GGplot 2中图例的控制

问题描述

我想绘制一个 data.frame,但在图例上添加了大小。如何在不增加图例大小的情况下控制点的大小?

df1 <- data.frame(name = c("peter", "peter", "peter", "peter", "jacob", "jacob"),
        test =c(10,8,4,2,7,5),
         something =c(100,80,40,20,77,55)
        )

df2 <- data.frame(name = c("Greg", "Lisa"),
              test =c(11,3.5),
              something =c(102,35)
             )

ggplot(df1, aes(x=test, y=something, color= name,size = 3)) +
  geom_point()+
 geom_point(data=df2, aes(x=test, y=something, color= name, size=7))

标签: rggplot2

解决方案


您可以自己size指定geom_point()

library(ggplot2)

df <- data.frame(name = c("peter", "peter", "peter", "peter", "jacob", "jacob"),
                 test =c(10,8,4,2,7,5),
                 something =c(100,80,40,20,77,55)
)


ggplot(df, aes(x=test, y=something, color= name)) +
    geom_point(size = 3)

在此处输入图像描述

更新

如果您需要所有点大小为 3 而不是仅在一次调用中geom_point(),您可以更新默认大小:

ggplot(df, aes(x=test, y=something, color= name)) +
    geom_point()

在此处输入图像描述

update_geom_defaults("point", list(size = 3))

ggplot(df, aes(x=test, y=something, color= name)) +
    geom_point()

在此处输入图像描述

更新 2:

在更新的问题中,您仍然可以指定size每个geom_point()调用,只要将其放在包装aes()器之外:

ggplot(df1, aes(x=test, y=something, color= name)) +
    geom_point(size = 3)+
    geom_point(data=df2, aes(x=test, y=something, color= name), size=7)

在此处输入图像描述


推荐阅读