gpt4 book ai didi

r - 如何删除 geom_raster 中连续 x 值之间的空间/间隙

转载 作者:行者123 更新时间:2023-12-02 01:09:01 24 4
gpt4 key购买 nike

我正在处理一些时频分解的 EEG 数据,并希望使用 ggplot2 生成类似频谱图的图形。但是,我最终在每个时间点之间都有空白。

Data <- read.csv(url("https://www.dropbox.com/s/al3cygigm86mr3s/Test_Spec_Data.csv?dl=0"))

如果我创建一个 vanilla geom_raster,我会在 x 和 y 数据中得到间隙:
ggplot(Data,aes(Times,Frequency)) +
geom_raster(aes(fill = ERSP))

Default

如果我做 Frequency一个因子,它填补了 y 的差距;但是,沿 x 轴的间隙仍然存在:
  ggplot(Data,aes(Times,factor(round(Frequency,digits=1)))) +
geom_raster(aes(fill = ERSP))

With y as factor

我可以通过制作 Times 来消除间隙一个因素。

enter image description here

但是,管理 scale_x_discrete有这么多数据点很麻烦(注意 x 轴标签)。此外,这些时间数据是连续的,并不是真正的因子。
geom_raster没有 widthgeom_bar 这样的论点我在 geom_raster 中看不到任何类似的东西文档。

有没有办法保持 Times作为连续但消除观察之间的差距?

最佳答案

因为没有足够的数据(或者更准确地说,它们的间隔不均匀),所以存在间隙。

您的“因子”转换消除了差距,因为它消除了数据缺失的 X 或 Y 轴部分。在 Y 轴上看到:刻度是均匀的空间,但值不是(8.5-8.1=0.4,而 11.3-10.7=0.6,你有最大的差距)。

我可以看到两种解决方案:

  • 插入数据,使源数据均匀分布
  • 使用 geom_tile而不是 geom_raster并指定 widthheightthe fourth example of the doc 中所述,用于“扩展”瓷砖并填充间隙的参数.
  • 关于r - 如何删除 geom_raster 中连续 x 值之间的空间/间隙,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46029650/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com