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")
输出: