Синтаксис маркировки в R Boxplot - PullRequest
0 голосов
/ 03 марта 2020

Попытка установить sh метки "диапазона" на коробочном графике:

x <- getURL('https://raw.githubusercontent.com/dothemathonthatone/maps/master/maindf_2_Anon.csv')

maindf <- read.csv(text = x, row.names=NULL, head =TRUE, dec = ',')

maindf$fee_per_inc <- as.numeric(as.character(maindf$fee_per_inc))

summary(maindf$year_hh_inc)  



Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
   7501   35000   50001   56446   75001  500014 

maindf <- maindf %>% 
 mutate(category = cut(year_hh_inc, 
                       breaks = (quantile(year_hh_inc, c(0, 1/4, 2/4, 3/4, 1), na.rm = TRUE)), 
                       labels = c("€ 7,501 - € 35,000", "35,001 - 50,001", "50,002 - 75,001", "75,002 - 500,001"), 
                       include.lowest = TRUE), 
        vals = 1) 

maindf <- maindf[maindf$fee_per_inc > 0 & maindf$fee_per_inc < 0.0001, ]

box  <- boxplot(maindf$fee_per_inc ~ maindf$category, col = 3:5)

output

Я хотел бы пометить каждую коробку с помощью колеблется от summary вызова. По какой-то причине он собирает только две коробки. У кого-нибудь есть идеи по этому поводу?

И я уверен, что с sh можно было что-то сделать с этими цветами?

Ответы [ 2 ]

2 голосов
/ 03 марта 2020

Причина, по которой метки не отображаются полностью, проста: они слишком длинные. Решение также простое: просто настройте три аргумента на boxplot:

Во-первых, увеличьте / уменьшите поля вокруг прямоугольника, чтобы у вас было больше места для просторных меток, отрегулировав значения в mar; например, вы делаете пространство в достаточно большой, чтобы метки помещались в метках:

 par(mfrow = c(1,1), mar = c(8,4,1,4))

Затем / или отрегулируйте размер символов меток оси, уменьшив cex.axis (по умолчанию 1)

И, наконец, вы можете установить las = 2, чтобы изменить направление надписей. Вы также упоминаете цвета как проблемные c: вы можете легко изменить их любым желаемым способом, определив цвета в аргументе col:

boxplot(women$height, women$weight, 
        names = c("A long variable name", "B another long name"),
        cex.axis = 0.8,
        las = 2,
        col = c("red", "blue"))

2 голосов
/ 03 марта 2020

Метки уже «есть», но собственный метод построения графика R будет сбрасывать метки оси, если они собираются на cla sh, поэтому вам просто нужно уменьшить текст оси:

boxplot(maindf$fee_per_inc ~ maindf$category, col = 3:5, cex.axis = 0.9)

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...