R语言 使用ggplot2绘制饼状图,有特定的顺序和百分比注释

R语言 使用ggplot2绘制饼状图,有特定的顺序和百分比注释

ggplot2包是一个强大而广泛使用的图形可视化包。它可以用来为绘制的图形提供大量的美学映射。这个包在R语言中被广泛使用。该包可以通过以下命令下载并安装到工作空间中。

install.packages("ggplot2")

最初使用data.frame方法创建了一个数据框架,这里用来表示两列,即科目和分数。然后通过使用科目列的值对数据框架的值进行分组。在这些行被堆叠在一起后,通过计算属于特定科目的分数总和来总结数据。

然后使用突变组件进行数据处理,突变组件被用来作为一个新列的输入,由分数除以它们各自的总和计算。它被用来从已经指定的数据框架中添加、修改或删除列。

语法 : mutate(new-col-name = fun())

fun()指定了创建新列值所依据的函数或操作。

接下来是使用ggplot方法对数据进行可视化处理。ggplot方法可以用来创建一个ggplot对象。该图形对象通过提供数据和其各自的点来创建图画。数据可以用点和线来绘制。

语法: ggplot(data, aes = )

参数 :

data – 要绘制的数据

aes – 美学贴图

平均值被用来作为y轴的绘图。颜色是根据主题和它们各自的ut_marks分配的。

条形图的高度反映了我们使用geom_col()方法时的数值。geom_text方法是用来通过提供文字注释来提高数据的可读性。

语法: geom_text(label = , position = )

参数 :

position – 要给重叠的数据的位置调整。

# Importing the required libraries
library(ggplot2)
library(dplyr)
  
# creating a data frame
data_frame <- data.frame(subject=c('maths','maths','sst',
                                   'science','sst','hindi','maths',
                                    'sst','science','hindi','sst'),
                 marks=c(4,5,8,2,15,6,3,7,7,6,3))
  
# creating a pie chart in order 
data_frame %>%
  group_by(subject) %>%
  summarise(ut_marks= sum(marks)) %>%
  mutate(mean_ut=ut_marks/sum(ut_marks)) %>%
  ggplot(aes(x="", y= mean_ut, 
             fill=reorder(subject, ut_marks))) +
            geom_col() + geom_text(aes(label = scales::percent(round(mean_ut,2))), 
            position = position_stack(vjust = 0.5))+
  coord_polar(theta = "y")

输出:

使用ggplot2绘制饼状图,有特定的顺序和百分比注释

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程