r - 只有 x(或 y)轴的热图
问题描述
我正在对金融时间序列进行一些数据可视化。
我基本上想要下面的热图,但没有小时轴,即我想显示每个工作日的平均价格变化,看看在统计上一周中的某些日子是否有更好的升值/贬值机会。
我原来的情节在这里:
我的代码是:
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))
解决方案
也许您可以尝试重塑您的数据框,以便每个数据只有一个数据点(例如价格变化的子项,或一天开始和一天结束之间的价格变化。我认为它会有一个可重复的例子很有用)。
由于您没有提供,我以 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))
推荐阅读
- c# - Unity 测试广告未展示
- excel - 匹配excel中的多列,然后在单独的列中提供值
- sql-server - 如何获取触发器中使用了更新的信息?
- merge - 如何在 Power BI 中合并两个基于非键表的表
- swift - 在 SwiftUI 视图中创建拖动句柄(用于可拖动窗口等)
- python - Raspberry Pi 上的声音激活录音和高级过滤
- ignite - 点燃重复执行
- sql-server - 如何使用用户定义函数遍历列值
- wordpress - 如何使用 dokan 获得所有精选卖家
- laravel - 登录用户时在 Laravel 8 jetstream 中将默认 Bcrypt 更改为 sha1