Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/81.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图例仅显示带有图例.key属性的部分边框_R_Ggplot2_Legend - Fatal编程技术网

R ggplot2图例仅显示带有图例.key属性的部分边框

R ggplot2图例仅显示带有图例.key属性的部分边框,r,ggplot2,legend,R,Ggplot2,Legend,我正在尝试使用ggplot2创建一个图形,但我不明白为什么legend.key属性仅在图例的一部分周围放置边框。请参阅下面的最小工作示例。有关于修复的建议吗?这里提供的示例似乎运行良好() set.seed(12) xy我不知道为什么,但它似乎与在Rstudio中将图像渲染到屏幕有关(我假设您正在Rstudio中工作) 您所要做的就是使用ggsave(“plot.png”)并按预期绘制线条。此外,如果保存为pdf,图例将具有所需的行 而且,正如@jeremycg所说,如果你想让这些行显示在屏幕上

我正在尝试使用ggplot2创建一个图形,但我不明白为什么legend.key属性仅在图例的一部分周围放置边框。请参阅下面的最小工作示例。有关于修复的建议吗?这里提供的示例似乎运行良好()

set.seed(12)

xy我不知道为什么,但它似乎与在Rstudio中将图像渲染到屏幕有关(我假设您正在Rstudio中工作)

您所要做的就是使用
ggsave(“plot.png”)
并按预期绘制线条。此外,如果保存为pdf,图例将具有所需的行

而且,正如@jeremycg所说,如果你想让这些行显示在屏幕上,你应该使用
legend.key=element\u rect(color=“black”,size=1))
(size=1在我的屏幕上就足够了)

最后:您不必每次都键入theme命令,您可以使用“,”来分隔它们,如:

 theme(legend.key = element_rect(colour="black"),
       axis.ticks.x = element_blank(),
       axis.ticks.y = element_blank())

我没有测试它,但我认为这样会更快。

无论出于什么原因,传奇有点偏离中心。这不是一个很好的解决方案,但您可以尝试将
size=1.1
添加到图例中,使其成为
元素(color=“black”,size=1.1))
您也可以将
geom\u tile()
更改为
geom\u tile(color=“black”)
,但这会产生您可能不想要的横杆。感谢您的建议,我已经尝试了大小设置,在紧要关头它会起作用,但我一直在寻找一个可能更好的解决方案。有趣的是,它如何通过geom_tile的颜色选项显示ok。仍然在决定我是否喜欢横杆。哇,我使用的是RStudio,正如您所说的那样,它可以正确地使用ggsave,所以感谢您提供了最好的解决方案!我最近刚刚看到了主题的组合,但还没有编辑我的代码。
 theme(legend.key = element_rect(colour="black"),
       axis.ticks.x = element_blank(),
       axis.ticks.y = element_blank())