我生成使用包一个情节hexbin
:
# install.packages("hexbin", dependencies=T)
library(hexbin)
set.seed(1234)
x <- rnorm(1e6)
y <- rnorm(1e6)
hbin <- hexbin(
x = x
, y = y
, xbin = 50
, xlab = expression(alpha)
, ylab = expression(beta)
)
## Using plot method for hexbin objects:
plot(hbin, style = "nested.lattice")
abline(h=0)
这似乎产生S4对象( hbin
),然后我用阴谋plot
。 现在我想用添加水平线到情节abline
,但不幸的是这给了错误:
plot.new尚未被称为
我还不知道,如何可以操纵例如轴标签(α和β是数字内)的位置,更改图例等的位置
我熟悉OOP,但到目前为止,我无法找到标图()如何处理对象(它调用该对象的某些方法?)和我如何可以操纵所产生的阴谋。
为什么我不能简单地画一条线到情节?
如何操作轴标签?
使用十六进制斌格版- hexbinplot()
随着panel
可以添加您的线路,并与style
,你可以选择可视化六边形的不同方式。 检查帮助hexbinplot
更多。
library(hexbin)
library(lattice)
x <- rnorm(1e6)
y <- rnorm(1e6)
hexbinplot(x ~ y, aspect = 1, bins=50,
xlab = expression(alpha), ylab = expression(beta),
style = "nested.centroids",
panel = function(...) {
panel.hexbinplot(...)
panel.abline(h=0)
})
hexbin
使用grid
图形,而不是base
。 有类似的功能, grid.abline
,这可以通过指定一个斜率和截距上绘制图线,但所使用的坐标系是混乱:
grid.abline(325,0)
得到约你想要什么,但这里的拦截而用肉眼发现。
你会使用更幸运ggplot2
:
library(ggplot2)
ggplot(data,aes(x=alpha,y=beta)) + geom_hex(bins=10) + geom_hline(yintercept=0.5)
我有很多的麻烦找了很多基本情节的调整(轴范围,标签等)与hexbin库,但我想出如何点导出到其他绘图功能:
hxb<-hexbin(x=c(-15,-15,75,75),
y=c(-15,-15,75,75),
xbins=12)
hxb@xcm #gives the x co-ordinates of each hex tile
hxb@ycm #gives the y co-ordinates of each hex tile
hxb@count #gives the cell size for each hex tile
points(x=hxb@xcm, y=hxb@ycm, pch=hxb@count)
你可以只给这三个矢量到您通常使用的任何绘图工具..有大小缩放等常用的调整,但它远比固执hexplot功能更好。 我发现与GGPLOT2 stat_binhex的问题是,我无法让不吉利的东西是不同的大小...只是不同的颜色。
如果你真的想六边形,plotrix具有六边形绘图功能,我认为是好的。