Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R中ggplot2中多个图例的图例键之间的间距_R_Ggplot2_Legend_Legend Properties - Fatal编程技术网

R中ggplot2中多个图例的图例键之间的间距

R中ggplot2中多个图例的图例键之间的间距,r,ggplot2,legend,legend-properties,R,Ggplot2,Legend,Legend Properties,我在互联网上搜索,却找不到解决问题的方法 因此,为了使其更加坚实,我们有一个带有两个图例的图表,如下所示: library(ggplot2) ggplot() + geom_point(data = mtcars, aes(x = disp, y = mpg, color = gear), pch =20, size=18) + geom_line(data = mtcars, aes(x = disp, y = mpg, size = disp/mpg

我在互联网上搜索,却找不到解决问题的方法

因此,为了使其更加坚实,我们有一个带有两个图例的图表,如下所示:

library(ggplot2)

ggplot() + 
  geom_point(data = mtcars, aes(x = disp, y = mpg, color = gear), 
             pch =20, size=18) + 
  geom_line(data = mtcars, aes(x = disp, y = mpg, size = disp/mpg*100)) +
  scale_size(range = c(0,3.5)) +
  guides(size = guide_legend("", order = 1, keywidth = 2, keyheight = 1.5), 
         color = guide_legend("", order = 2, keywidth = 1, keyheight = 1 )) +
  labs(x = "disp", y = "mpg") +
  geom_text(size=2.7, color = "grey29",  vjust=-0.8) +
  theme_bw() 

# ggsave("trial.png", width = 11.5, height = 8.5)

我可以使用更改与大小相关的第一个图例组的间距
指南中的
大小
选项
。然而,对于表示颜色的第二组,我既不能使整个组更接近图形,也不能缩小彩色圆圈之间的大小

我还尝试了主题中的图例选项,如
legend.spating.x/y
legend.key.width/height
。这些选项仅适用于第一个图例组

有没有办法减少不同颜色键之间的大小?更改键的大小也有助于发现

为了让我的要求更清楚,我想调整以下差距:


提前谢谢。

我不确定您需要什么,但我想您希望图例中的点更小。在这种情况下,
override.aes()
就是您需要的函数

如果您的问题不同,请进一步澄清,以便我们能够帮助您

库(ggplot2)
ggplot()+
几何点(数据=mtcars,aes(x=disp,y=mpg,颜色=档位),
pch=20,尺寸=18)+
geom_线(数据=mtcars,aes(x=disp,y=mpg,尺寸=disp/mpg*100))+
刻度尺寸(范围=c(0,3.5))+
导轨(尺寸=导轨\图例(“”,顺序=1,键宽=2,键高=1.5),
颜色=导轨\图例(“”,顺序=2,键宽=1,键高=1,
override.aes=列表(大小=9)))+
实验室(x=“disp”,y=“mpg”)+
几何图形文本(大小=2.7,颜色=grey29,vjust=-0.8)+
主题_bw()


由(v0.3.0)于2019-07-08创建的图例间距始终是一个问题,并获得了许多选票。 我认为您的特定示例中的一个问题可能是
gear
的连续性。分解可能会有所帮助(如果您的值大于
gear
,请改用
cut()
),然后使用
unit()
更改
辅助线中的图例间距。我已经简化了您的代码,并将
title='
替换为
title=NULL
,否则ggplot实际上是在绘制一个空对象

库(tidyverse)
mtcars_f%变异(档位_f=系数(档位))#系数化档位
ggplot(mtcars_f,aes(显示,mpg))+
几何点(aes(颜色=档位),尺寸=10)+
geom_线(aes(尺寸=disp/mpg*100))+
导轨(尺寸=导轨\图例(标题=空,订单=1,
键高=单位(0.1英寸),
颜色=指南\图例(标题=空,顺序=2,
键高=单位(0.1英寸)+
比例\颜色\制浆机(调色板=‘蓝色’)+
主题(legend.key=element\u blank())


由(v0.3.0)创建于2019-07-19。谢谢,这使图例键看起来更好看了。但是,我试图使图例关键框(在这些绘图中,它们应该是透明的,但无论如何它们都存在)更接近实际绘图边界(帧),和/或减少第二个图例中彩色圆圈之间的间距。我要在帖子里再画一个图,标出我想在一分钟内改变的地方。