【问题标题】:Modification of the "Heat Maps of MSFT Adjusted Close修改“MSFT 调整关闭的热图”
【发布时间】:2014-09-28 09:08:03
【问题描述】:

我从下面的链接中发现了非常有用和复杂的数字,但显示了 4 年的每日收盘价,但我的目标数字是 30 年的每日收盘价,所以它太长了,对读者来说应该太混乱了。

Most underused data visualization

相反,我想连续 6 年(在 x 轴上)将每日数据转换为季度(在 y 轴上),但我无法在以下方面将年份转换为 6 年

facet_wrap(~ year, ncol = 1)

因为我是 ggplot2 的新手。

有人可以看看并给我解决方案吗?

非常感谢

【问题讨论】:

    标签: r ggplot2 heatmap


    【解决方案1】:

    facet_wrap 为您提供每年的单独地块。根据您的描述,您想要一个情节,例如

    # tranforming data from linked question to get quarters (not perfect)
    require(dplyr)
    stock.sum <- stock.data %>% filter(wday == 1, week %% 13 == 1, week < 52) %>%
        mutate(quarter = (week %/% 13) + 1)
    
    # plot! year on x, quarter on y (seems backwards to me)
    ggplot(stock.sum, aes(x = factor(year), y = quarter, fill = Adj.Close)) +
        geom_tile(colour = "white") +
        scale_fill_gradientn(colours = c("#D61818","#FFAE63","#FFFFBD","#B5E384"))
    # just leave out the facet_wrap()
    

    【讨论】:

    • 这绝对是一个很大的改进。然而,原始代码日期的日期是从 2006 年开始的,但我的目标是从今天开始向后 30 年。如果我们假设 x 轴的频率为 10 年,那么我们将在最终图的 y 轴上有 3 层(或 3 层 * 4 个季度 * 10 年)。请帮帮我。
    • 我看到的唯一数据是来自链接问题的数据。如果您的数据看起来不同,请发布!至少发帖dput(head(my_data))
    • @JungSooPark 我不明白您的问题是转换数据和绘图,还是只是绘图。当你说你有“3层”时,我不知道floor是什么。共享数据会有所帮助。
    • 如果我们修改原始代码上的股票名称和期间,那么我们可以得到30年的数据。股票
    • 原始堆图有4层(楼层)7days*12month heap map,我的是3层(floors)4 Quarters*10years heat map。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-04
    • 1970-01-01
    • 2015-08-12
    相关资源
    最近更新 更多