簡體   English   中英

R中的2d顏色圖

[英]2d color plot in R

我有一個包含許多事件的數據框,每個事件都有一個時間戳。

我需要一個二維圖:x軸代表天,y軸代表一天的時間(例如小時),這一天這個小時的事件數用顏色表示(或者換句話說? )相應的細胞。

首先我試着用

     ggplot(events) + 
      geom_jitter(aes(x = round(TimeStamp / (3600*24)), 
                      y = TimeStamp %% (3600*24))), 

但由於大量事件(每月超過100萬),可能只能看到特定時間內發生事件的事實,而不是有多少事件(幾乎所有細胞都充滿了黑色)。 所以,問題是 - 如何在R中創建這樣的情節?

你可以制作一個hexbin圖:

set.seed(42)
events <- data.frame(x=round(rbinom(1000,1000, 0.1)),y=round(rnorm(1000,10,3)))
library(ggplot2)
library(hexbin)
p1 <- ggplot(events,aes(x,y)) + geom_hex()
print(p1)

hexbin plot

我正在做的方法是為每個事件使用一個小的alpha(即透明度),以便疊加事件具有更高(累積)的alpha,從而給出疊加事件數量的概念:

library(ggplot2)
events <- data.frame(x=round(rbinom(1000,1000, 0.1)),y=round(rnorm(1000,10,3)))
ggplot(events)
+ geom_point(aes(x=x, y=y), colour="black", alpha=0.2)

在此輸入圖像描述

另一種解決方案是將其表示為熱圖:

 hm <- table(events)
 xhm <- as.numeric(rownames(hm))
 yhm <- as.numeric(colnames(hm))
 image(xhm,yhm,hm)

在此輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM