2017-02-20 20 views
0

Я только начинаю изучать ggplot2 и застрял, пытаясь изменить ширину точек с помощью geom_pointrangeИзменение ширины точек в geom_pointrange

Мои данные:

Pop Beta   SE Size  lo  hi name 
2 std1 -1.9590 0.30000000 601 -2.259000 -1.659000 std1 
1 std2 -2.2170 0.17480000 1532 -2.391800 -2.042200 std2 
3 std3 -2.3180 0.17160000 1763 -2.489600 -2.146400 std3 
4 std4 -2.0940 0.18700000 1176 -2.281000 -1.907000 std4 
5 std6 -1.5080 0.19670000 1136 -1.704700 -1.311300 std6 
6 meta -2.0561 0.08695935 6208 -2.143059 -1.969141 meta 

Сюжет:

p <- ggplot()+ 
    geom_pointrange(data=data, aes(x=name, y=Beta, ymin=lo, ymax=hi), shape=c(rep(22,5),23), lwd=0.3, 
        fill=c(rep("white",5),"white"), color = c(rep("#525252",5),"red"), 
        fatten = c((data$Size/200)[c(1:5)],5)) + 
    geom_hline(yintercept = 0, linetype=2)+ 
    coord_flip()+ 
    xlab('') + theme_bw(base_size = 15) + 
         ylab("") + ggtitle(paste(trait,i,sep=" ")) 
plot(p) 

Моя проблема в том, что я хочу, чтобы усы были действительно тонкими , а также как точки, но когда я меняю lwd только изменение ширины нитевидных кристаллов. Я попытался с помощью width, но получил ошибку:

Warning: Ignoring unknown parameters: width 

enter image description here

EDIT с сюжетом: Я хочу ширину моего боксировал быть такой же ширины, как и усов

+1

Используйте сочетание '' size' и fatten' изменить Overal/относительные размеры pointranges. Или, может быть, вы ищете «удар»? Я немного уверен, что проблема (добавление сюжета может помочь). – Axeman

+0

Я верю вместо 'lwd' синтаксис должен быть' width' –

+0

@Axeman См. Редактирование сообщения .... Я попробовал 'stroke', и он решил мою проблему! благодаря! – GabrielMontenegro

ответ

2

Хотя без документов, geom_pointrange принимает те же аргументы для центральной точки, что и geom_point. И на примерах ?geom_point мы можем прочитать:

# For shapes that have a border (like 21), you can colour the inside and 
# outside separately. Use the stroke aesthetic to modify the width of the 
# border 
+0

любая идея о том, как я могу избежать видеть бакенбарды через точки, даже если заливка указана как «белая», как в примере выше? благодаря – AJMA