гистограмма / гистограмма ggplot2 с датой и временем - PullRequest
0 голосов
/ 30 мая 2018

Учитывая это df:

       Date     Time     Values 
1 2018-04-02 09:15:00 14.00000
2 2018-04-02 09:30:00  4.00000
3 2018-04-02 09:45:00 20.00000
4 2018-04-02 10:00:00 30.00000
5 2018-04-02 10:15:00 14.00000
6 2018-04-02 10:30:00 31.16667

Я пытаюсь сделать гистограмму / гистограмму, упорядоченную по Values, в то время как значения оси X равны Date или Time (дваразные графики).Это пример с диаграммой Time:

ggplot(df, aes(reorder(Time, Values)), y=Values) + 
  geom_col(position = "dodge")

Я пробовал с geom_col и geom_bar со stat = "identity" и другими случаями, но, похоже, ничего не работает для обеих диаграмм.Для кода выше появляется эта ошибка:

Error in as.Date.numeric(value) : 'origin' must be supplied

1 Ответ

0 голосов
/ 30 мая 2018

Будьте осторожны с типом переменной (Date, factor, POSIXct):

my_text <- ' Date     Time     Values 
1 2018-04-02 09:15:00 14.00000
2 2018-04-02 09:30:00  4.00000
3 2018-04-02 09:45:00 20.00000
4 2018-04-02 10:00:00 30.00000
5 2018-04-02 10:15:00 14.00000
6 2018-04-02 10:30:00 31.16667'

df <- read.table(text = my_text)
str(df) # factors ...

df$Date <- as.Date(as.character(df$Date))
df$Time <- as.POSIXct(paste(as.character(df$Date), as.character(df$Time)))

str(df) # Date and POSIXct 
library(ggplot2)

ggplot(df, aes(reorder(Time, Values), y = Values)) + 
  geom_col(position = "dodge")

enter image description here

...