R语言 绘制没有图例的ggplot2图例

R语言 绘制没有图例的ggplot2图例

图中的图例单独描述了绘图的每一部分,用于以图形的形式显示统计数据。在这篇文章中,我们将看到如何在ggplot2中只画图例而不画图。

首先,让我们看看如何画一个带有图例的图,这样就可以看出区别。为此,通过使用 library() 函数加载ggplot2包,并创建一个DataFrame。为了创建一个R图,我们使用 ggplot() 函数,为了得到一个散点图,我们在ggplot()函数中添加 geom_point() 函数。

例子

# Load Package
library("ggplot2")
  
# Create a DataFrame 
data <- data.frame(
  Xdata = rnorm(10),                        
  Ydata = rnorm(10),
  LegendData = c("ld-01", "ld-02", "ld-03",
                 "ld-04", "ld-05", "ld-06",
                 "ld-07", "ld-08", "ld-09", 
                 "ld-10"))
  
# Create a Scatter Plot and assign it 
# to gplot data object
gplot <- ggplot(data, aes(
  Xdata, Ydata, color = LegendData)) +   
  geom_point(size = 7)
gplot

输出

在R中绘制没有图例的ggplot2图例

带图例的散点图

使用的软件包

现在,为了只画图例而不画图,我们必须加载三个包,分别是 gridgridExtra 、 和 cowplot。

  • grid 包是用来直接产生图形输出的

语法

install.packages(“grid”) #用于安装grid包

library(“grid”) #用于加载grid包

  • gridExtra 是grid包的一个扩展,它支持图形对象的创建和编辑,但具有比grid更高级的功能。

语法

install.packages(“gridExtra”) #用于安装gridExtra包
library(“gridExtra”) #用于加载gridExtra包

  • cowplot 包用于通过固定其核心组件来增强图形的可呈现性。

语法

install.packages(“cowplot”) #用于安装cowplot包
library(“cowplot”) #用于加载cowplot包

使用的函数

为了只绘制图例,我们使用了三个函数,它们都来自上述软件包。

  • get_legend() 函数用于保存绘图的图例。

语法: get_legend(ggplot)

参数: 一个ggplot,要从中获取图例。

返回: 绘图的图例

  • grid.newpage() 将网格从原来的设备上移到另一个设备上。

语法: grid.newpage()

返回: 删除当前绘图窗口并创建一个新的绘图窗口

  • grid.draw() 从一个图形对象产生图形输出。

语法: grid.draw(legend)

返回: 在新的绘图窗口中绘制图例

因此,为了绘制一个只有图例的绘图,首先,用get_legend()绘制一个图例并保持在绘图上,然后用grid.newpage()擦除绘图,然后用grid.draw()将图例绘制到一个新的绘图窗口。

例子

# Load Packages
library("ggplot2")
library("grid")
library("gridExtra")
library("cowplot")
  
# Create a DataFrame
data <- data.frame(
  Xdata = rnorm(10), Ydata = rnorm(10),
  LegendData = c("ld-01", "ld-02", "ld-03",
                 "ld-04", "ld-05", "ld-06",
                 "ld-07", "ld-08", "ld-09", 
                 "ld-10"))
  
# Create a Scatter Plot
gplot <- ggplot(data, aes(Xdata, Ydata, color = LegendData)) +   
  geom_point(size = 7)
  
# Draw Only Legend without plot
# Grab legend from gplot
legend <- get_legend(gplot)                    
  
# Create new plot window
grid.newpage()                              
  
# Draw Only legend 
grid.draw(legend) 

输出

在R中绘制没有图例的ggplot2图例

只有图例,没有图表

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程