在R hexbin中创建带日期的Hexbins()

时间:2016-03-21 23:08:06

标签: r date time-series binning

我正在尝试使用R中hexbin包中的hexbin函数创建其中x轴是日期的十六进制位。当我输入我的数据时,它似乎将日期转换为数字,它显示在x轴上。我希望它强制x轴为日期。

#Create Hex Bins
hbin <- hexbin(xData$Date, xData$YAxis, xbins = 80)

#Plot using rBokeh
figure() %>% 
  ly_hexbin(hbin) 

这给了我:

Hexbin Graph

1 个答案:

答案 0 :(得分:0)

这是使用底层网格绘图包的强力方法。轴很难看;也许有一些技能比grid技能更好的人可能会把它们搞得一团糟。

# make some data
x = seq.Date(as.Date("2015-01-01"),as.Date("2015-12-31"),by='days')
y = sample(x)

# make the plot and capture the plot
p <- plot(hexbin(x,y),yaxt='n',xaxt='n')

# calculate the ticks
x_ticks_date <- 
x_ticks <- axTicks(1, log = FALSE, usr = as.numeric(range(x)),
                axp=c(as.numeric(range(x)) ,5))
class(x_ticks_date) <- 'Date'
y_ticks_date <- 
y_ticks <- axTicks(1, log = FALSE, usr = as.numeric(range(y)),
                   axp=c(as.numeric(range(y)) ,5))
class(y_ticks_date) <- 'Date'

# push the ticks to the view port.
pushViewport(p$plot.vp@hexVp.off)
grid.xaxis(at=x_ticks, label = format(y_ticks_date))
grid.yaxis(at=y_ticks, label = format(y_ticks_date))