r - R中的饼图,其中切片表示数据集列中值的频率
问题描述
我想为我的数据框的每一列制作饼图,其中切片代表频率,其中列中的值出现。例如,以下将生成一个包含 3 列的数据框,并将数字向下舍入为个位数。
test1<-rnorm(200,mean = 20, sd = 2)
test2<-rnorm(200,mean=20, sd =1)
test3<-rnorm(200,mean=20, sd =3)
testdata<-cbind(test,test2,test3)
testdata <-round(testdata,0)
所以我需要有 3 个饼图,其中切片表示次数,其中给定值出现在相应的列中(如果可能,在饼图顶部显示列的名称)到目前为止,我已经尝试过pie(frame(testdata$test1))
,但它适用于创建单个饼图,我的真实数据有 25 列。最重要的是,尝试传递“main =”参数来命名它会导致错误。
先感谢您。
解决方案
ggplot2
是制作精美情节的首选图书馆。要拥有 3 个不同的饼图,需要稍微调整数据,这是通过一些tidyverse
-functions 完成的。
test1<-rnorm(200,mean = 20, sd = 2)
test2<-rnorm(200,mean=20, sd =1)
test3<-rnorm(200,mean=20, sd =3)
testdata<-cbind(test1,test2,test3)
testdata <-round(testdata,0)
library(ggplot2)
library(tidyverse)
plotdata <- testdata %>%
as_tibble() %>%
pivot_longer(names(.),names_to = "data1", values_to = "value") %>%
group_by(data1) %>%
count(value)
ggplot(plot_data, aes( x = "", y = n, fill = factor(value))) +
geom_col(width = 1, show.legend = TRUE) +
coord_polar("y", start = 0) +
facet_wrap(~data1)
推荐阅读
- c++ - 如何获取对 std::bitset 中位的左值引用
- python - 如何使用 Opencv 缩小/扩展面部特征?
- python - python zip和AES使用子进程加密输出
- google-apps-script - 使用 appscript 对行进行分组
- python - 将 SendGrid 与 Azure ML 一起使用的问题
- react-native - 测试 React-Navigation:如何检查屏幕没有聚焦(StackNavigator)
- spring-boot - 将 spring boot 执行器健康状态报告为指标
- r - 构建配对块的索引
- c++ - 错误:通过引用返回指针数组的 const 方法
- ios - 将基于目标的 Swift 编译器标志设置为 POD 框架