Как создать гистограмму, показывающую отрицательное значение в R?

#r #ggplot2 #geom-bar

#r #ggplot2 #геометрическая шкала

Вопрос:

У меня есть данные, включающие отрицательное значение, и я хочу создать гистограмму.

 genotype<-c("A","B","C")
treatment<- c("tr1", "tr2")
y<- c(-0.124, -0.083, -0.07, 0.130, 0.216, 0.182)

data1<- data.frame (genotype, treatment, y)

   genotype treatment      y
1        A       tr1 -0.124
2        B       tr2  0.130
3        C       tr1 -0.083
4        A       tr2  0.216
5        B       tr1 -0.070
6        C       tr2  0.182

ggplot(data1, aes(x=genotype, y=y))   
  geom_bar (stat="identity")  
  scale_y_continuous(breaks = seq(-1,1,0.2),limits = c(-1,1))
  

введите описание изображения здесь

Это график, который я сделал, но я хочу, как показано ниже, различать положительное и отрицательное значение. Не могли бы вы рассказать мне, как это сделать? Большое спасибо!!!

введите описание изображения здесь

Ответ №1:

Попробуйте это:

 library(ggplot2)
#Code
ggplot(data1, aes(x=genotype, y=y,fill=treatment))   
  geom_bar (stat="identity",position = position_dodge(0.9))  
  scale_y_continuous(breaks = seq(-1,1,0.2),limits = c(-1,1))
  

Вывод:

введите описание изображения здесь

Или более настраиваемый:

 #Code 2
ggplot(data1, aes(x=genotype, y=y,fill=treatment))   
  geom_bar (stat="identity",position = position_dodge(0.9))  
  scale_y_continuous(breaks = seq(-1,1,0.2),limits = c(-1,1),
                     labels = scales::percent) 
  theme_bw() 
  theme(legend.position = 'bottom',
        axis.title.x = element_blank(),
        axis.text.x = element_blank(),
        axis.ticks.x = element_blank(),
        axis.text.y = element_text(color='black',face='bold'),
        legend.text = element_text(color='black',face='bold'),
        legend.title = element_text(color='black',face='bold'),
        axis.title.y = element_text(color='black',face='bold')) 
  scale_fill_manual(values=c('red','gray25'))
  

Вывод:

введите описание изображения здесь

Комментарии:

1. @JinwookKim Отлично! Я также добавил другую версию с большей настройкой для вас! Надеюсь, это поможет!