在geom_tile()R的ggplot2数据可视化包中的层中,当单元格不包含任何数据时,不会绘制它.例如http://docs.ggplot2.org/current/geom_tile.html并搜索"缺失值".
我想更改此行为以显示所有切片的最小值.这有可能吗?如果可以的话怎么样?
附加背景:我使用的时候
stat_density2d(aes(x=x,y=y, fill=..density..), geom="tile", contour=FALSE)
Run Code Online (Sandbox Code Playgroud)
我希望没有密度的区域与密度非常小的区域非常相似.就像现在一样,如果说色谱是从蓝色到红色而背景是白色的,那么当瓷砖中没有数据时它是白色的,并且当瓷砖中有单个数据点是蓝色时.
似乎可以为数据添加伪计数,但我如何提前知道如何分配伪计数?在有刻面的情况下?
在我的代码中,读取数据以绘制极坐标图.但"0/360"位居榜首.如何将它旋转到右手90度?
ggplot(polar, aes(x=angle, y=distance )) + coord_polar(start=0) + geom_point() +
scale_x_continuous(breaks=seq(0, 360, by=30), expand=c(0,0), lim=c(0, 360))+
scale_area()
Run Code Online (Sandbox Code Playgroud)
完整的过程和结果图形在此处描述:http: //keveting.blogspot.tw/2012/08/r-ggplot2-code.html
文档coord_polar:
开始:从弧度方向的12点偏移:1,顺时针; -1,逆时针
所以我试过了
ggplot(polar, aes(x=angle, y=distance)) +
coord_polar(***start = 90, direction = -1***) +
geom_point() + scale_x_continuous(breaks=seq(0, 360, by=30), expand=c(0,0),
lim=c(0, 360)) + scale_area()
Run Code Online (Sandbox Code Playgroud)
但它仍然没有按照我想要的方式向右旋转90度.
我编写并回顾了大量的R代码,如下所示:
df <- data.frame(replicate(10, sample(0:5, 10, rep = TRUE)))
my.func <- function(col, y) {col %in% y}
df$X2 <- my.func(df$X2, c(1,2))
df$X3 <- my.func(df$X3, c(4,5))
df$X5 <- my.func(df$X5, c(1,2))
df$X6 <- my.func(df$X6, c(4,5))
df$X8 <- my.func(df$X8, c(4,5))
df$X9 <- my.func(df$X9, c(1,2))
df$X10 <- my.func(df$X10, c(1))
Run Code Online (Sandbox Code Playgroud)
也就是说,使用函数对data.frame(或data.table)中的某些列进行了转换,其中一个参数是一个列,另一个参数是某个任意的,对该列而言有点唯一的值。
进行这种转换的更简洁的方法是什么?
我已经尝试过使用data.table的set(:=)运算符,这使事情变得更简洁了,但是每个列名称仍然必须出现两次,并且该函数对于每个列必须出现一次。