开福区网站建设论坛,智能网站建设报价,有赞商城网页版,百度网络推广怎么收费R语言基础绘图 —— 饼图piechart 数据准备 这里展示变异注释类型所占百分比#xff1a; filename - data/Count_by_effects.csvdf - read.csv(filename)# 去除百分比符号#xff0c;并转换为数值df$Percent - as.numeric(gsub(%, filename - data/Count_by_effects.csvdf - read.csv(filename)# 去除百分比符号并转换为数值df$Percent - as.numeric(gsub(%, , df$Percent))# 四舍五入到4位小数df$Percent - round(df$Percent, 2)df - df[order(-df$Percent), ][1:10, ]head(df) baseR绘制饼图 调用 pie() 函数即可 library(Cairo)library(paletteer)colors - paletteer_d(ggthemes::Classic_Green_Orange_12)CairoPDF(test.pdf, width7, height2.5)par(marc(0, 0, 0, 8), omac(0, 0, 0, 15))# 增加科学计数法的惩罚值options(scipen 999)pie(x df$Count, labels , cex 1, radius 1, clockwise TRUE, col colors, border NA, main NA)# 添加图例legend(x 1.2, y 1, legend paste0(df$Type, (, df$Percent, %)), bty n, fill colors, border NA, #title SNP effect, xpd NA, cex 1)dev.off() x: 这个参数接受一个数值向量表示每个饼图片段的大小。 labels: 用于指定每个饼图片段旁边显示的标签。这里因为我们的类别太多如果都展示的话会显得很拥挤所以这里给一个空的字符串。 cex: 字符扩展大小Character EXpansion size。这个参数用于控制标签的字体大小其中**1是默认大小小于1的值会缩小字体大于1**的值会放大字体。 radius: 饼图的半径可以用来控制饼图的大小。在这里**radius 1**表示使用默认的半径大小。 clockwise: 一个逻辑值TRUE或FALSE用于指定饼图的绘制方向。**TRUE表示饼图的片段将按顺时针方向绘制而FALSE**默认值表示按逆时针方向绘制。 col: 为饼图的每个片段指定颜色。**colors是一个颜色向量它的长度应该和x**参数的长度相匹配。每个饼图片段将按照这个向量中颜色的顺序进行着色。 main: 指定饼图的主标题。 注意我们这里绘制的图例标签非常长为了将其完全展示出来需要设置这几个参数 图片长宽 使用**par(marc())或par(omac())调整边界。mar用于设置图形四周的边界大小而oma**用于设置外边界大小。 **insetc(-0.3, 0)和xpdNA**参数确保图例即使很长也不会被裁剪且能够完全展示在绘图区域之外。 ggplot2绘制饼图 ggplot2 可以通过设置坐标轴的方式将条形图转换为饼图。 用 ggplot2 绘制饼图的优势在于我们可以更精细的控制图形的细节例如特定主题图例标题的位置等但由于 ggplot2 并没有原生的饼图函数所以我们无法很方便的像 baseR 绘图那样为饼图的每个区域添加指定的文本标签。 library(ggplot2)library(dplyr)df$Type - factor(df$Type, levels df$Type)p - ggplot(df, aes(x , y Count, fill Type)) geom_bar(stat identity, width 1) coord_polar(y, start 0) scale_fill_manual( values colors, labels paste0(df$Type, (, df$Percent, %)) ) labs(fill SNP effect type) theme_void() theme( legend.text element_text(size 12), legend.key.size unit(0.5, cm), legend.title element_text(size 14, face bold))CairoPDF(test2.pdf, width7, height3)print(p)dev.off() 本文由 mdnice 多平台发布