I've used the following data to plot the circular plot from the picture below and I can't display the labels of the narrowest sections. Any clue why?. I've tried reducing the size of the label and doesn't work.
data
level1 level2 size
Interface A1 191730
Interface A2 524340
Interface minor 2529189
Interface P1 1273072
Interface P2 126295
Interface P3 279050
Interface P4 74326
Interface P5 16646
No structure A1 654914.333333333
No structure A2 4965368.33333333
No structure minor 13654304.3333333
No structure P1 6627555.33333333
No structure P2 1131774
No structure P3 2011299
No structure P4 485273
No structure P5 116248
Non-interface A1 317491
Non-interface A2 978807
Non-interface minor 3689632
Non-interface P1 1690987
Non-interface P2 192730
Non-interface P3 468848
Non-interface P4 125529
Non-interface P5 21676
code:
#create PieDonut
require(ggplot2)
require(moonBook)
require(webr)
PieDonut(data,
aes(pies= level2, donuts = level1, count = size),
ratioByGroup=T,
addDonutLabel = F,
labelpositionThreshold = 0.4,
donutLabelSize = 3,
use.labels = F,
title="Title",
maxx = 1.5,
r0=0,showPieName=FALSE)
Result:
Note: As a workaround, I used the sunburst package. However I think it looks very confusing, that's why I want to use the other plot. Nevertheless, here's my piece of code and the plot.
# install ggsunburst
if (!require("ggplot2")) install.packages("ggplot2")
if (!require("rPython")) install.packages("rPython")
install.packages("http://genome.crg.es/~didac/ggsunburst/ggsunburst_0.0.10.tar.gz", repos=NULL, type="source")
library(ggsunburst)
library(ggrepel)
names(data) = c("parent","node", "size")
data$location <- data$parent
write.table(data, file = 'data.csv', row.names = F, sep = ",")
sb <- sunburst_data('data.csv', type = 'node_parent', sep = ",", node_attributes = c("location","size"))
sb$rects[!sb$rects$leaf,]$location <- sb$rects[!sb$rects$leaf,]$name
colors= c("#2DA86D", "#A72D98", "#423FA9", "#4BC88B", "#5FCE98", "#73D4A5", "#87DAB2", "#9BE0BF", "#AFE6CB", "#C3ECD8", "#D7F2E5",
"#C74BB7", "#CD5FBF", "#D373C7", "#D987CF", "#E09BD7", "#E6AFDF", "#ECC3E7", "#F2D7EF", "#5F5DC8", "#716FCE", "#8381D4", "#9493DA", "#A6A5E0", "#B8B7E6", "#C9C9EC", "#DBDBF2")
n_total_size = 42115268
p <- ggsunburst::sunburst(sb,
rects.fill = colors,
rects.fill.aes=0,
rects.size =2,
node_labels.size = 5,
leaf_labels.size = 3,
blank = T,
leaf_labels = T,
rects.color = "white",
node_labels = T,
node_labels.color = "white",
node_labels.min = 0)+
geom_label_repel(data = sb$leaf_labels,
aes(x=x,
y=0,
label=paste(round(size/n_total_size * 100, 2), '%')),
colour = colors[4:27],
nudge_y = .55,
segment.size = 0.7,
show.legend = T,
segment.colour = "black",
fontface = 'bold')
library
you've used, to enable us to follow you. – Odell