Гистограмма с обратной шкалой y в решетке - PullRequest
0 голосов
/ 18 апреля 2019

Я хочу решетчатую диаграмму, похожую на диаграмму ggplot с обратной осью y отсюда http://www.sthda.com/english/wiki/ggplot2-rotate-a-graph-reverse-and-flip-the-plot

Другими словами, я хочу перевернуть диаграмму в решетке вверх ногами, с источникомбары наверху.Я какое-то время искал решение, думая, что оно должно быть легким, но найти его не удалось ...

require(lattice)
data <- data.frame(y = c(0.1, 0.4, 0.3, 0.23, 0.17, 0.27), x = c(1,2,3,4,5,6))
histogram <- barchart(data$y ~ data$x, horizontal = FALSE)
histogram

Приведенный выше код выдает обычную диаграмму.Я хочу сделать так, чтобы бары начинались сверху, а не снизу, с обратным масштабом y.Другими словами, я хочу этот точный график, но с ног на голову.

1 Ответ

0 голосов
/ 19 апреля 2019

Вот один трюк, чтобы сделать это:

нанесите -y вместо y и укажите, что источник равен 0, тогда вы можете изменить метки на оси y, как считаете нужным

mydata <- data.frame(y = c(0.1, 0.4, 0.3, 0.23, 0.17, 0.27), x = c(1,2,3,4,5,6))

# fix where you want the ticks to be 
ticks_at <- seq(-0.5, 0, 0.1)
barchart(-y ~ x, 
         mydata, 
         horizontal = FALSE, 
         origin=0, 
         # set the position of the ticks and their labels 
         scales = list(y=list(at = ticks_at, 
                              labels = -1 * (ticks_at))),
         xlab = "x-Axis",
         ylab ="y-Axis")

Вы получите что-то вроде этого:

enter image description here

...