ggplot2: geom_text () в geom_col () с осью POSIXt x [дубликат]

Проверьте эту ссылку в MDN

let x = 1;

if (x === 1) {
let x = 2;

console.log(x);
// expected output: 2
}

console.log(x);
// expected output: 1

4
задан Riad 16 June 2015 в 02:29
поделиться

2 ответа

Нашел! Фактически, ширина поддерживается, хотя масштаб находится в секундах, так как я рисую временной ряд, где ось X отформатирована как дата POSIX. Следовательно, ширина = 0,9 означает, что ширина ячейки составляет 0,9 секунды. Поскольку мои ячейки имеют 2 часа каждый, тогда ширина «1» на самом деле равна 7200. Итак, вот код, который работает.

ggplot(DF, aes(x=time, y=count, width=6000, fill=level)) + 
  geom_bar(stat="identity", position="identity", color="grey") + 
  scale_x_datetime(labels = date_format("%D"), breaks = date_breaks("day")) + 
  xlab("myXlabel") +
  ylab("myYlabel") +
  ggtitle("myTitle") 

Результаты, как показано ниже. В барах есть несколько аверлапсов, мне просто нужно скорректировать мои данные, скажем, на следующий час.

enter image description here [/g0]

4
ответ дан Riad 1 September 2018 в 08:50
поделиться

Если то, что вы пытаетесь достичь, это расширение баров на графике, ggplot, похоже, не поддерживает это для geom_bar. Тем не менее, довольно просто реализовать панель с использованием geom_rect.

Поскольку многие из точек данных, по-видимому, расположены на расстоянии примерно двух часов друг от друга, я предполагаю, что ширина 0.9, которую вы хотите достичь, равна 0,9 часов в обе стороны заданного времени (так что в основном выжимают большую часть пространства между полосками.

Если это то, что вы хотите, следующий код должен работать:

library(lubridate)

ggplot(DF, aes(xmin=time-minutes(54), xmax=time+minutes(54), ymin=0, ymax=count,
           fill=level)) +
geom_rect(color="#666666")
0
ответ дан tegancp 1 September 2018 в 08:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: