r - 重复数据的热图
问题描述
我可以使用一些金融时间序列数据生成热图,但我认为它不能显示我想要显示的内容(每天每小时的平均价格变动)
当我检查某个小时的平均价格变动时,它与图表上显示的不同。
我使用的代码如下:
ggplot(data, aes(x=Time, y=Weekday, fill = Change)) +
geom_tile(color = "white", size = 0.1) +
scale_x_time(expand=c(0,0)) +
scale_y_discrete(expand=c(0,0)) +
scale_fill_viridis_c(name="Price change", option = "plasma") +
theme_bw(base_family="Helvetica") +
theme(axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1))
变化是几年数据的每小时价格变化。时间是小时(00:00、01:00),工作日是星期几(周一、周二、周三等)。它们都是因素,也许我需要让它们成为时间变量以获得平均价格变化图中的每个正方形?
有谁知道我如何获得一天中每个小时的平均价格变动,因为我不希望将任何价格变化放入热图中。
数据片段
Date Time Change Weekday
09/03/2016 16:00 1.980786372 Wednesday
09/03/2016 17:00 0.000000000 Wednesday
09/03/2016 18:00 0.000000000 Wednesday
09/03/2016 20:00 -4.778919160 Wednesday
09/03/2016 21:00 -2.920425114 Wednesday
10/03/2016 16:00 6.123554913 Thursday
10/03/2016 17:00 0.851063830 Thursday
11/03/2016 10:00 0.000000000 Friday
11/03/2016 17:00 0.000000000 Friday
11/03/2016 18:00 0.000000000 Friday
11/03/2016 21:00 0.843881857 Friday
11/03/2016 22:00 0.000000000 Friday
11/03/2016 23:00 0.000000000 Friday
12/03/2016 02:00 1.924686192 Saturday
12/03/2016 03:00 4.448267388 Saturday
12/03/2016 04:00 -1.233616037 Saturday
12/03/2016 07:00 0.000000000 Saturday
12/03/2016 09:00 -5.263157895 Saturday
12/03/2016 12:00 -0.142322097 Saturday
12/03/2016 18:00 0.000000000 Saturday
13/03/2016 00:00 2.973977695 Sunday
13/03/2016 01:00 0.722021661 Sunday
13/03/2016 10:00 0.000000000 Sunday
13/03/2016 12:00 0.000000000 Sunday
13/03/2016 15:00 0.000000000 Sunday
13/03/2016 19:00 0.000000000 Sunday
13/03/2016 20:00 1.010101010 Sunday
13/03/2016 21:00 0.000000000 Sunday
13/03/2016 23:00 -2.587601078 Sunday
14/03/2016 00:00 -17.094487647 Monday
14/03/2016 01:00 1.209992194 Monday
14/03/2016 02:00 0.000000000 Monday
14/03/2016 09:00 -1.132075472 Monday
14/03/2016 10:00 -0.763358779 Monday
14/03/2016 11:00 -0.222222222 Monday
14/03/2016 12:00 4.797047970 Monday
14/03/2016 13:00 -1.761403509 Monday
14/03/2016 14:00 -2.857142857 Monday
14/03/2016 15:00 1.098739031 Monday
14/03/2016 16:00 -0.277008310 Monday
14/03/2016 17:00 0.870827286 Monday
14/03/2016 18:00 6.057553957 Monday
14/03/2016 19:00 -7.430004745 Monday
14/03/2016 20:00 1.054183561 Monday
14/03/2016 21:00 -2.976364167 Monday
14/03/2016 22:00 -3.306650707 Monday
14/03/2016 23:00 -4.149922720 Monday
15/03/2016 00:00 1.964415103 Tuesday
15/03/2016 01:00 0.493198632 Tuesday
15/03/2016 02:00 -1.473007913 Tuesday
15/03/2016 03:00 -3.752988048 Tuesday
15/03/2016 04:00 4.662525880 Tuesday
15/03/2016 05:00 -2.856238626 Tuesday
15/03/2016 06:00 1.950553861 Tuesday
15/03/2016 07:00 0.466698307 Tuesday
15/03/2016 08:00 1.648222275 Tuesday
15/03/2016 09:00 -0.702648444 Tuesday
15/03/2016 10:00 0.023116043 Tuesday
15/03/2016 11:00 0.145716696 Tuesday
15/03/2016 12:00 -1.045671229 Tuesday
15/03/2016 13:00 -0.656117329 Tuesday
15/03/2016 14:00 -5.497076023 Tuesday
15/03/2016 15:00 1.952420016 Tuesday
15/03/2016 16:00 -1.252408478 Tuesday
15/03/2016 17:00 0.984665052 Tuesday
15/03/2016 18:00 3.764386189 Tuesday
15/03/2016 19:00 -0.330769231 Tuesday
15/03/2016 20:00 -0.309310238 Tuesday
15/03/2016 21:00 -0.445069103 Tuesday
15/03/2016 22:00 -1.046511628 Tuesday
15/03/2016 23:00 0.699515720 Tuesday
16/03/2016 00:00 3.053435115 Wednesday
16/03/2016 01:00 0.506253722 Wednesday
16/03/2016 02:00 -0.985185185 Wednesday
16/03/2016 03:00 -1.847834219 Wednesday
16/03/2016 04:00 0.495426829 Wednesday
16/03/2016 05:00 0.792682927 Wednesday
16/03/2016 06:00 1.427169070 Wednesday
16/03/2016 07:00 -1.421064318 Wednesday
16/03/2016 08:00 -0.534196073 Wednesday
16/03/2016 09:00 2.426487263 Wednesday
16/03/2016 10:00 1.609434102 Wednesday
16/03/2016 11:00 -0.789473684 Wednesday
16/03/2016 12:00 0.877840071 Wednesday
16/03/2016 13:00 -2.807195706 Wednesday
16/03/2016 14:00 -0.514963803 Wednesday
16/03/2016 15:00 -1.849779966 Wednesday
16/03/2016 16:00 -2.112622540 Wednesday
16/03/2016 17:00 -0.679641643 Wednesday
16/03/2016 18:00 1.213573471 Wednesday
16/03/2016 19:00 0.000000000 Wednesday
16/03/2016 20:00 -1.509146341 Wednesday
16/03/2016 21:00 1.137066832 Wednesday
16/03/2016 22:00 -2.185541800 Wednesday
16/03/2016 23:00 -1.968750000 Wednesday
17/03/2016 00:00 -0.557857826 Thursday
17/03/2016 01:00 -1.062300319 Thursday
17/03/2016 02:00 0.347138129 Thursday
17/03/2016 03:00 0.602022797 Thursday
17/03/2016 04:00 0.393859015 Thursday
17/03/2016 05:00 0.240192154 Thursday
17/03/2016 06:00 0.731570062 Thursday
17/03/2016 07:00 -4.329073482 Thursday
17/03/2016 08:00 -5.912426816 Thursday
17/03/2016 09:00 2.107081174 Thursday
17/03/2016 10:00 0.684468481 Thursday
17/03/2016 11:00 -8.531163493 Thursday
17/03/2016 12:00 2.435005492 Thursday
17/03/2016 13:00 -3.139013453 Thursday
17/03/2016 14:00 1.421140628 Thursday
17/03/2016 15:00 2.541508209 Thursday
17/03/2016 16:00 -4.054054054 Thursday
17/03/2016 17:00 0.469483568 Thursday
17/03/2016 18:00 0.046433878 Thursday
17/03/2016 19:00 3.880184332 Thursday
17/03/2016 20:00 0.246218783 Thursday
17/03/2016 21:00 -1.745200698 Thursday
17/03/2016 22:00 1.030927835 Thursday
17/03/2016 23:00 -1.276785714 Thursday
18/03/2016 00:00 0.361010830 Friday
18/03/2016 01:00 -2.666064166 Friday
18/03/2016 02:00 0.649953575 Friday
18/03/2016 03:00 1.390176089 Friday
18/03/2016 04:00 0.548446069 Friday
18/03/2016 05:00 0.569538857 Friday
18/03/2016 06:00 -3.467889908 Friday
18/03/2016 07:00 -1.692015209 Friday
18/03/2016 08:00 -0.988180585 Friday
18/03/2016 09:00 -5.900195695 Friday
18/03/2016 10:00 1.409457665 Friday
18/03/2016 11:00 -13.000873193 Friday
18/03/2016 12:00 -4.120443740 Friday
18/03/2016 13:00 7.302062736 Friday
18/03/2016 14:00 9.649122807 Friday
18/03/2016 15:00 2.581039021 Friday
18/03/2016 16:00 -2.198124267 Friday
18/03/2016 17:00 -2.137648587 Friday
18/03/2016 18:00 -0.050236110 Friday
18/03/2016 19:00 1.920744036 Friday
18/03/2016 20:00 1.344032096 Friday
18/03/2016 21:00 -0.215876754 Friday
18/03/2016 22:00 6.667989680 Friday
18/03/2016 23:00 2.042711235 Friday
19/03/2016 00:00 -4.858962693 Saturday
19/03/2016 01:00 -0.861008610 Saturday
19/03/2016 02:00 -0.907787864 Saturday
19/03/2016 03:00 2.030947776 Saturday
19/03/2016 04:00 -0.511848341 Saturday
19/03/2016 05:00 -5.607566837 Saturday
19/03/2016 06:00 2.516676774 Saturday
19/03/2016 07:00 0.167570232 Saturday
19/03/2016 08:00 6.335900185 Saturday
19/03/2016 09:00 -0.632505271 Saturday
19/03/2016 10:00 -2.608213097 Saturday
19/03/2016 11:00 1.277528840 Saturday
19/03/2016 12:00 2.742999140 Saturday
19/03/2016 13:00 -0.270522388 Saturday
19/03/2016 14:00 -0.981481481 Saturday
19/03/2016 15:00 2.432179607 Saturday
19/03/2016 16:00 0.182648402 Saturday
19/03/2016 17:00 -1.276207840 Saturday
19/03/2016 18:00 -2.123730379 Saturday
19/03/2016 19:00 -3.161350844 Saturday
19/03/2016 20:00 0.862068966 Saturday
19/03/2016 21:00 -3.133903134 Saturday
19/03/2016 22:00 -0.039215686 Saturday
19/03/2016 23:00 2.920276453 Saturday
20/03/2016 00:00 -1.312682973 Sunday
20/03/2016 01:00 0.293282876 Sunday
20/03/2016 02:00 -2.159624413 Sunday
20/03/2016 03:00 2.097565669 Sunday
20/03/2016 04:00 -0.459705413 Sunday
20/03/2016 05:00 -0.961813161 Sunday
20/03/2016 06:00 0.508149569 Sunday
20/03/2016 07:00 -1.104707012 Sunday
20/03/2016 08:00 0.000000000 Sunday
20/03/2016 09:00 0.009765625 Sunday
20/03/2016 10:00 0.726532985 Sunday
20/03/2016 11:00 0.260869565 Sunday
20/03/2016 12:00 0.019426906 Sunday
20/03/2016 13:00 -2.682997959 Sunday
20/03/2016 14:00 -1.027667984 Sunday
20/03/2016 15:00 0.519117500 Sunday
20/03/2016 16:00 -1.900099900 Sunday
20/03/2016 17:00 1.530612245 Sunday
20/03/2016 18:00 -3.028479743 Sunday
20/03/2016 19:00 1.715597936 Sunday
20/03/2016 20:00 1.208459215 Sunday
20/03/2016 21:00 0.591133005 Sunday
20/03/2016 22:00 -2.233009709 Sunday
20/03/2016 23:00 1.302288871 Sunday
21/03/2016 00:00 -0.743712692 Monday
21/03/2016 01:00 1.972386588 Monday
21/03/2016 02:00 0.493230174 Monday
21/03/2016 03:00 2.149496514 Monday
21/03/2016 04:00 -0.367924528 Monday
21/03/2016 05:00 -0.056812802 Monday
21/03/2016 06:00 -0.056882821 Monday
21/03/2016 07:00 3.591736164 Monday
21/03/2016 08:00 -1.445430427 Monday
21/03/2016 09:00 1.592268753 Monday
21/03/2016 10:00 -1.746844705 Monday
21/03/2016 11:00 0.853445903 Monday
21/03/2016 12:00 -0.809900810 Monday
21/03/2016 13:00 0.036697248 Monday
21/03/2016 14:00 -1.091743119 Monday
21/03/2016 15:00 0.000000000 Monday
21/03/2016 16:00 2.357798165 Monday
21/03/2016 17:00 2.494451842 Monday
21/03/2016 18:00 0.806451613 Monday
21/03/2016 19:00 -1.846808511 Monday
21/03/2016 20:00 1.014568158 Monday
21/03/2016 21:00 0.583590800 Monday
21/03/2016 22:00 1.339590444 Monday
21/03/2016 23:00 -0.706832716 Monday
22/03/2016 00:00 -2.952872493 Tuesday
22/03/2016 01:00 0.697471665 Tuesday
22/03/2016 02:00 -0.296425458 Tuesday
22/03/2016 03:00 4.156738152 Tuesday
22/03/2016 04:00 -0.220675607 Tuesday
22/03/2016 05:00 0.110262935 Tuesday
22/03/2016 06:00 -0.025695931 Tuesday
22/03/2016 07:00 0.877796902 Tuesday
22/03/2016 08:00 -0.304594297 Tuesday
22/03/2016 09:00 0.644942295 Tuesday
22/03/2016 10:00 0.521797677 Tuesday
22/03/2016 11:00 0.000000000 Tuesday
22/03/2016 12:00 0.167448091 Tuesday
22/03/2016 13:00 -1.089689858 Tuesday
22/03/2016 14:00 0.508905852 Tuesday
22/03/2016 15:00 -5.001275836 Tuesday
22/03/2016 16:00 1.843565420 Tuesday
22/03/2016 17:00 -0.720372485 Tuesday
22/03/2016 18:00 0.639886242 Tuesday
22/03/2016 19:00 1.256859621 Tuesday
22/03/2016 20:00 -0.611353712 Tuesday
22/03/2016 21:00 0.122914838 Tuesday
22/03/2016 22:00 1.224632610 Tuesday
22/03/2016 23:00 -2.361038508 Tuesday
23/03/2016 00:00 0.757440741 Wednesday
23/03/2016 01:00 0.716941052 Wednesday
23/03/2016 02:00 1.004759387 Wednesday
23/03/2016 03:00 0.532332664 Wednesday
23/03/2016 04:00 2.246313964 Wednesday
23/03/2016 05:00 1.034775233 Wednesday
23/03/2016 06:00 -0.426813959 Wednesday
23/03/2016 07:00 -1.050861707 Wednesday
23/03/2016 08:00 0.160622200 Wednesday
23/03/2016 09:00 -0.016934801 Wednesday
23/03/2016 10:00 -0.594227504 Wednesday
23/03/2016 11:00 0.162393162 Wednesday
23/03/2016 12:00 0.509337861 Wednesday
23/03/2016 13:00 0.481418919 Wednesday
23/03/2016 14:00 -1.065078833 Wednesday
23/03/2016 15:00 0.771186441 Wednesday
23/03/2016 16:00 3.075630252 Wednesday
23/03/2016 17:00 -0.171204957 Wednesday
23/03/2016 18:00 -1.019991840 Wednesday
23/03/2016 19:00 0.476816837 Wednesday
23/03/2016 20:00 0.818665575 Wednesday
23/03/2016 21:00 0.390370852 Wednesday
23/03/2016 22:00 0.668405608 Wednesday
23/03/2016 23:00 0.574945340 Wednesday
24/03/2016 00:00 -3.086816720 Thursday
24/03/2016 01:00 -3.166666667 Thursday
24/03/2016 02:00 -0.223003688 Thursday
24/03/2016 03:00 0.837392122 Thursday
24/03/2016 04:00 0.000000000 Thursday
24/03/2016 05:00 -1.709401709 Thursday
24/03/2016 06:00 -0.786026201 Thursday
24/03/2016 07:00 0.070422535 Thursday
24/03/2016 08:00 -0.594977688 Thursday
24/03/2016 09:00 2.130094182 Thursday
24/03/2016 10:00 -1.924410541 Thursday
24/03/2016 11:00 -3.431984311 Thursday
24/03/2016 12:00 2.121771218 Thursday
24/03/2016 13:00 -1.261374899 Thursday
24/03/2016 14:00 1.012866137 Thursday
24/03/2016 15:00 2.333333333 Thursday
24/03/2016 16:00 -0.985915493 Thursday
24/03/2016 17:00 0.693529980 Thursday
24/03/2016 18:00 -0.915431561 Thursday
24/03/2016 19:00 -2.390613973 Thursday
24/03/2016 20:00 1.218631522 Thursday
24/03/2016 21:00 -1.218092253 Thursday
24/03/2016 22:00 1.074007220 Thursday
24/03/2016 23:00 0.566699649 Thursday
25/03/2016 00:00 0.071231413 Friday
25/03/2016 01:00 -1.539005838 Friday
解决方案
我认为您目前正在同一位置过度绘制许多图块。你所看到的只是那些碰巧最后被绘制的。您可能希望使用stat_summary_2d
,默认情况下将计算每个平方的平均值。例如:
ggplot(d, aes(x = Time, y = Weekday, z = Change)) +
geom_tile(color = "white", size = 0.1, stat = 'summary_2d') +
scale_x_discrete(expand=c(0,0)) + # or scale_x_time if formatted correctly
scale_y_discrete(expand=c(0,0)) +
scale_fill_viridis_c(name="Price change", option = "plasma")
推荐阅读
- php - 如何修复 PHP 中的“请求服务器错误”错误?
- python-3.x - 如何解决 python 中 input() 的问题?
- django - Django 从查询中排除单个值
- javascript - 选项卡重新获得焦点后 SetInterval 赶上
- url - Openseadragon - tileSource - url: / 我可以放我的本地图片还是普通的 jpg url?
- angular - 带有虚拟滚动的 PrimeNG 下拉菜单未将选择保留在视图中
- oracle - 将日期附加到字符串以在 oracle 中获取表名并对其进行选择查询
- reactjs - Reactstrap Bootstrap Navbar 在反应应用程序中不起作用
- php - 如果日期是在循环中生成的,如何跳过它?
- sas - 宏变量中的简单计算 - 使用 MOD(,) 函数的任何方式?