Как контролировать, где находится ключ на ggplot без известного y max - PullRequest
0 голосов
/ 10 марта 2020

Я пытаюсь контролировать, где находится моя сводная статистика на графике. Я действительно хотел использовать py = Inf, но этот элемент управления, где нижняя часть коробки, так что коробка обрезается. Мне было интересно, есть ли лучший способ контролировать, где этот блок пытается получить его в верхнем правом углу, не зная, какой будет максимальная яркость.

Это мой текущий сюжет введите описание изображения здесь

А это мой текущий код:

AreaGraph <- ggplot(PT2DataFrame, aes(x = Area)) +
  geom_blank() +
  geom_histogram(aes(y = ..density..), fill = "darkseagreen3", bins = 8, colour = "black", size = 0.5) +
  stat_QC_Capability(LSL=(AreaMean - AreaLowerTolerance), USL= (AreaMean + AreaUpperTolerance),
                     show.lines = c("LSL", "USL", "X"), line.direction = "v",
                     show.line.labels = TRUE, line.label.size = 3,
                     show.cap.summary = c("Cp", "Cpk", "Pp", "Ppk"), cap.summary.size = 4, px = Inf, py = 1000, digits = 3, method="XmR") +
  stat_function(fun = dnorm, args = list(mean = mean(PT2DataFrame$Area), sd = sd(PT2DataFrame$Area)), colour = "black", size = 1) +
  geom_vline(aes(xintercept = mean(Area)), colour = "darkred", size = 1, linetype = "dashed") +
  geom_label(aes(x=(mean(Area)), label="Avg", y= 0), colour="darkred", angle=0) +
  geom_vline(aes(xintercept = (mean(Area) - (3 * sd(Area)))), colour = "darkred", size = 1, linetype = "dashed") +
  geom_label(aes(x = (mean(Area) - (3 * sd(Area))), label="-3sd", y= 0), colour="darkred", angle=0) +
  geom_vline(aes(xintercept = (mean(Area) + (3 * sd(Area)))), colour = "darkred", size = 1, linetype = "dashed") +
  geom_label(aes(x=(mean(Area) + (3 * sd(Area))), label="+3sd", y= 0), colour="darkred", angle=0) +
  labs(y="", x="Area") 
...