R ggplot2 - проблема с шириной полосы ошибок - PullRequest
0 голосов
/ 01 августа 2020

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

data1<-c(0.04, 0.5, 1.0, 1.5 ,2.0, 2.6, 3.1, 3.6,  0.9,0.56,0.4,0.33,0.27,0.2,0.15,0.1, 0.12, 0.17, 0.22 ,0.33, 0.45,  0.57, 0.74, 0.85)

sym<-as.data.frame(matrix(data = data1, ncol = 3, byrow = FALSE))

ggplot(data=sym, mapping = aes(x=sym[,1], y=sym[,2]))+
  theme(plot.background = element_rect(fill = "white"), 
        panel.background = element_rect(fill = "white", color="black",linetype = 1),
        panel.grid = element_blank(),
        plot.title = element_text(hjust = 0.5, size =30),
        axis.title = element_blank(),
        axis.ticks = element_line(color="black"),
        axis.ticks.length=unit(-0.25, "cm"),
        axis.text.x = element_text(margin=unit(c(0.5,0.5,0.5,0.5), "cm")), 
        axis.text.y = element_text(size=25, margin=unit(c(0.5,0.5,0.5,0.5), "cm")))+
  ggtitle("variable, symmetric error")+
  ylim(-1.0, 1.5)+
  xlim(0.0,4.5)+
  geom_line(color="blue",size=1.2)+
  geom_point(color="blue", size=4)+
  geom_errorbar(aes(ymin = sym[,2]-sym[,3], ymax = sym[,2]+sym[,3], x= sym[,1]),
                width=0.1, color="blue", size =1.2)

Результат (в основном) такой, как ожидалось, но я не могу понять, почему первая полоса ошибок не соответствует настройке «ширины». График, показывающий проблему с первой полосой ошибок, которая не отвечает на заданный параметр ширины

Мое первое предположение заключалось в том, что изменение поля могло вызвать какое-то перекрытие, что привело R к а не по ширине для самой первой точки. Однако смещение данных внутрь по оси x не имело никакого значения. Поэтому я предполагаю, что, должно быть, пропустил что-то еще?

Любой ввод очень приветствуется!

1 Ответ

0 голосов
/ 01 августа 2020

Указывая на замечательные предложения @stefan и @RuiBarradas по поводу имен переменных и ограничений, вы также можете попробовать scale_x_continuous() и scale_y_continuous() для ограничений, как это используется в следующем коде:

ggplot(data=sym, mapping = aes(x=V1, y=V2))+
  theme(plot.background = element_rect(fill = "white"), 
        panel.background = element_rect(fill = "white", color="black",linetype = 1),
        panel.grid = element_blank(),
        plot.title = element_text(hjust = 0.5, size =30),
        axis.title = element_blank(),
        axis.ticks = element_line(color="black"),
        axis.ticks.length=unit(-0.25, "cm"),
        axis.text.x = element_text(margin=unit(c(0.5,0.5,0.5,0.5), "cm")), 
        axis.text.y = element_text(size=25, margin=unit(c(0.5,0.5,0.5,0.5), "cm")))+
  ggtitle("variable, symmetric error")+
  scale_y_continuous(limits = c(NA,1.5))+
  scale_x_continuous(limits = c(NA,4.5))+
  geom_line(color="blue",size=1.2)+
  geom_point(color="blue", size=4)+
  geom_errorbar(aes(ymin = V2-V3, ymax = V2+V3, x= V1),
                width=0.1, color="blue", size =1.2)

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

...