Тепловая карта только с осью x (или y) - PullRequest
1 голос
/ 27 января 2020

Я делаю некоторую визуализацию данных о финансовых временных рядах.

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

Мой оригинальный сюжет здесь:

enter image description here

Мой код:

ggplot(Change , aes(x=Hour, y=Day, fill = Change)) + 
+     geom_tile(color = "white", size = 0.2) + 
+     scale_x_discrete(expand=c(0,0)) + 
+     scale_y_discrete(expand=c(0,0)) + 
+     scale_fill_viridis(name="Price Range", option = "plasma") + 
+     coord_equal() + 
+     labs(x="Hour", y=NULL, title=sprintf("price range by hr")) + 
+     theme_tufte(base_family="Helvetica") +
+     theme(axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1))

1 Ответ

0 голосов
/ 27 января 2020

возможно, вы можете попытаться изменить форму вашего фрейма данных так, чтобы на каждый из них приходилось только одно назначение данных (например, подмножество изменения цены или изменение цены между началом дня и концом дня. I думаю, было бы полезно иметь воспроизводимый пример).

, поскольку вы его не предоставили, я привел пример с 7 днями и некоторыми временными интервалами

данные

day <- c("monday" , "tuesday", "wednsday", "thursday", "friday", "saturday", "sunday") 
dt <- as.data.frame(matrix(c(1,2,3,4,5, 6,7,8,9,10, 1,2,5,4,3, 2,3,5,7,6, 4,8,9,7,8, 9,8,9,9,1, 3,4,3,1,2) , nrow = 5 , ncol=7, byrow=TRUE)) 
colnames(dt) <- c("monday" , "tuesday", "wednsday", "thursday", "friday", "saturday", "sunday") 
rownames(dt) <- c("0:00", "2.00", "4.00", "8.00", "10.00") dt <- as.data.frame(colSums(dt))
...