R语言 嵌套饼图

R语言 嵌套饼图

在这篇文章中,我们将讨论如何在R编程语言中创建一个嵌套饼图。

饼图是一个圆形图,只能显示一个系列的数据。饼的切片面积代表该切片所显示的数据部分的比例。但有时我们需要同时显示两个系列的数据,以便更好地分析数据。我们可以通过创建一个嵌套饼图来做到这一点,它是一个嵌套在甜甜圈图中的饼图。

方法1:使用Plotly软件包创建嵌套饼图

要在R语言中使用Plotly包创建一个嵌套饼图,我们首先要创建一个基本的饼图和一个基本的甜甜圈图。然后将这两层结合起来,创建一个嵌套饼图。

要在R控制台安装和导入plotly包,语法如下

install.package('plotly')
library(plotly)
R

创建一个饼状图

在R语言中,我们可以使用Plotly包的plot_ly()函数来创建一个饼图。plot_ly()函数将一个数据框作为参数,以实现可视化。然后我们添加add_pie()函数来创建一个饼图。

语法

plot_ly( df ) %>% add_pie( df, labels, value )
R

其中。

  • df: 确定要被可视化的数据框架。
  • labels: 决定有标签的变量。
  • value: 决定在饼图中显示的变量的值。

例子

这里,是一个使用plot_ly()函数制作的基本饼图。

# load library plotly
library(plotly)
  
# create sample data frame
sample_data <- data.frame(group= c('Group1', 'Group2', 
                                   'Group3', 'Group4'), 
                   value= c(25,30,20,25))
  
# create pie chart using plot_ly() function
plot_ly(sample_data) %>%
  add_pie(sample_data, labels = ~`group`, values = ~`value`)
R

输出

R语言中的嵌套饼图

创建一个甜甜圈图

在这个方法中,为了创建一个基本的甜甜圈图表,我们将使用带孔参数的 plot_ly() 函数。

语法

plot_ly( df ) %>% add_pie( df, labels, value, hole )
R

其中。

  • df: 确定要被可视化的数据框架。
  • labels: 决定有标签的变量。
  • value: 确定饼状图中要显示的带有数值的变量。
  • hole: 决定甜甜圈图中洞的大小。

例子

这里,是一个使用plot_ly()函数制作的基本甜甜圈图,其中有洞的参数。

# load library plotly
library(plotly)
  
# create sample data frame
sample_data <- data.frame(group= c('Group1', 'Group2', 
                                   'Group3'), 
                   value= c(25,30,20))
  
# create donut chart using plot_ly() function
plot_ly(sample_data) %>%
  add_pie(sample_data, labels = ~`group`, values = ~`value`,
         type = 'pie', hole = 0.5)
R

输出

R语言中的嵌套饼图

创建一个嵌套饼图

为了创建一个嵌套饼图,我们首先使用plot_ly()函数来创建一个基础。然后在add_pie()函数的帮助下添加一个甜甜圈图层。然后,为了将其转换为嵌套饼图,我们添加一个新的饼图层,并通过使用域参数调整到甜甜圈图的中心。

语法

plot_ly( df ) %>% add_pie( df, labels, value, hole ) %>% add_pie( df, labels, value, domain )
R
  • 其中。
  • df: 确定要被可视化的数据框架。
  • labels: 决定有标签的变量。
  • value: 确定饼状图中要显示的带有数值的变量。
  • hole: 确定甜甜圈图中洞的大小。
  • domain: 确定告诉饼图的位置和大小的向量。

例子

这里,是一个用plot_ly()函数制作的基本嵌套饼图。

# load library plotly
library(plotly)
  
# create sample data frame
sample_data <- data.frame(group= c('Group1', 'Group2', 'Group3', 'Group4'), 
                   value1= c(25,30,20,25),value2= c(15,40,10,35))
  
# create pie chart using plot_ly() function
plot_ly(sample_data) %>%
  add_pie(labels = ~`group`, values = ~`value1`, 
          type = 'pie', hole = 0.7, sort = F,
          marker = list(line = list(width = 2))) %>%
  add_pie(sample_data, labels = ~`group`, values = ~`value2`, 
          domain = list(
            x = c(0.15, 0.85),
            y = c(0.15, 0.85)),
          sort = F)
R

输出

R语言中的嵌套饼图

方法2:使用ggplot2包创建嵌套饼图

为了在R语言中使用ggplot2包创建一个嵌套饼图,我们首先创建一个矩形图,然后使用coord_polar()函数把它变成一个嵌套饼/圆环图。coord_polar()函数将ggplot2中的笛卡尔坐标系转换为极坐标系。

要在R控制台安装和导入ggplot2包,语法如下

install.package('ggpot2')
library(ggplot2)
R

语法

plot + coord_polar( theta, start, direction, clip )
R

其中。

  • theta: 决定了角度
  • start: 确定设置的偏移量
  • direction(方向 ):决定变换的方向,即X或Y。
  • clip: 决定是否要对图形进行剪裁

例子

这里,是一个使用ggplot2软件包制作的嵌套饼图。

# load library ggplot2
library(ggplot2)
  
# create sample data frame
sample_data <- data.frame(group= c('Group1', 'Group2',
                                   'Group1', 'Group2', 
                                   'Group1', 'Group2'), 
                          name= c('name1', 'name1',
                                  'name2', 'name2', 
                                  'name3', 'name3'),
                   value= c(25,30,35,20,40,50))
  
# create nested pie chart using ggplot
ggplot(sample_data, aes(x = factor(group), y = value, fill = factor(name))) +
          geom_col() +
         scale_x_discrete(limits = c("Group1", "Group2")) +
          coord_polar("y")
R

输出

R语言中的嵌套饼图

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册