R语言 马赛克图

R语言 马赛克图

马赛克图是用来显示分为两个或多个条件分布的表格的对称性的。马赛克图是可视化分层数据的一个好方法。一个矩形的集合代表了所有要可视化的元素,不同大小和颜色的矩形构成了一个表格,但这些马赛克图的独特之处在于元素的排列,在有层次的地方那些元素被收集在一起并被标注,甚至可能有子类别。因此,马赛克图可以非常有效地用于绘制分类数据,数据的面积显示出相对比例。

在这篇文章中,我们将学习如何在R编程语言中创建一个马赛克图。用于此的软件包是 vcd

方法1:使用mosaic()函数

用于在R编程语言中创建马赛克图的函数是mosaic()。

语法

mosaic(x,shade=NULL,legend=NULL, main=NULL,…)

参数

  • x: 这里,x指向保存数据集/表的变量。我们在这里传递了我们的数据集名称。
  • shade: shade是一个布尔变量,如果它被设置为真,那么我们将得到一个彩色的图表。它的默认值是NULL。
  • legend: 图例是一个布尔变量,如果它被设置为真,那么我们将能够在我们的马赛克图旁边看到图例。它的默认值是NULL。
  • main: main是一个字符串变量,在这里我们传递的是我们的马赛克图的标题。

要创建一个绘图,首先要将软件包加载到空间,并创建数据集。创建的数据集被传递给函数。

例1 :

library('vcd')
  
# creating a random dataset 
# creating 6 rows
data_values <- matrix(c(80, 10, 15,
                        70, 86, 18, 
                        60, 30, 12,
                        90, 20, 25,
                        60, 96, 88, 
                        50, 20, 32))
  
# creating dataset with above values
data <- as.table(
  matrix(
    data_values,
      
    # specifying the number of rows
    nrow = 6,
    byrow = TRUE,
      
    # creating two lists one for rows
    # and one for columns
    dimnames = list(
      Random_Rows = c('A','B','C', 'D', 'E', 'F'),
      Random_Columns = c('col_1', 'col_2', 'col_3')
      )
    )
  )
  
# plotting the mosaic chart
mosaic(data)

输出

R编程中的马赛克图

简单的镶嵌图

马赛克图也可以用自定义的特征来绘制,使其更有表现力。

例2 :

library('vcd')
  
# creating a random dataset 
# creating 6 rows
data_values <- matrix(c(80, 10, 15,
                        70, 86, 18, 
                        60, 30, 12,
                        90, 20, 25,
                        60, 96, 88, 
                        50, 20, 32))
  
# creating dataset with above values
data <- as.table(
  matrix(
    data_values,
      
    # specifying the number of rows
    nrow = 6,
    byrow = TRUE,
      
    # creating two lists one for rows
    # and one for columns
    dimnames = list(
      Random_Rows = c('A','B','C', 'D', 'E', 'F'),
      Random_Columns = c('col_1', 'col_2', 'col_3')
      )
    )
  )
  
# plotting the mosaic chart
mosaic(data,
         
       # shade is used to plot colored chart
       shade=TRUE,
         
       # adding title to the chart
       main = "A Mosaic Plot"
)

输出

R编程中的马赛克图

一个简单的马赛克图

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程