#r #graph
Не в первой сталкиваюсь с такой проблемой, но решения пока не нашел. Я строю четыре графика отображающих процентное соотношение значений четырех переменных. library(plotrix) x1 <- c(0.09,0.187,0.269,0.441,0.013) x2 <- c(0.207,0.262,0.259,0.242,0.03) x3 <- c(0.147,0.237,0.249,0.339,0.027) x4 <- c(0.052,0.11,0.242,0.581,0.015) df <- cbind(x1, x2, x3, x4) df1 <- data.frame(df) df1 <- sqrt(df1) #Беру корень по значениям, чтобы сектора выглядели более наглядно. draw_rp <- function(dataf){ for (i in 1:length(dataf)){ xnew1 <- c(0.1, 0.1, 0.1, 0.1, 0.1, dataf[[i]]) colors <- c(rep('white', nrow(dataf)), rainbow(nrow(dataf))) radial.pie(xnew1, show.grid = F, clockwise = T, sector.colors = colors) } } par(mfrow=c(2, 2)) draw_rp(df1) Если посмотреть на данные, можно увидеть, несоответствие размеров между одинаковыми секторами. Например, в третьей строке данные практически одинаковые, но третий сектор отображающий эти значения на всех графиках сильно отличается. df1 # x1 x2 x3 x4 #1 0.3000000 0.4549725 0.3834058 0.2280351 #2 0.4324350 0.5118594 0.4868265 0.3316625 #3 0.5186521 0.5089204 0.4989990 0.4919350 #4 0.6640783 0.4919350 0.5822371 0.7622336 #5 0.1140175 0.1732051 0.1643168 0.1224745 Один из выходов это экспортировать графики в картинки. Оставить как есть график, у которого самое большое значение и пропорционально размерам его секторов уменьшать все остальные графики. В этом случае 4й график (0.7622336) оставить как есть, а картинки остальных подгонять под него. Каким образом можно автоматизировать процесс подгонки, чтобы на выходе я получал графики с правильными пропорциями?
Ответы
Ответ 1
Попробуй добавить в белый сектор max значение из таблицы. ( мне кажется получается то что ты хочешь) draw_rp <- function(dataf){ for (i in 1:length(dataf)){ xnew1 <- c(max(dataf), 0.1, 0.1, 0.1, 0.1, dataf[[i]]) colors <- c(rep('white', nrow(dataf)), rainbow(nrow(dataf))) radial.pie(xnew1, show.grid = F, clockwise = T, sector.colors = colors) } }
Комментариев нет:
Отправить комментарий