使用 ggplot2 删除图像图的零级别
我正在使用 geom_tile
绘制图像图,并希望清除零级别以保持清晰。
#dummy data
set.seed(1)
tdata <- data.frame(cat1=rep(letters[1:3],4),cat2=sort(rep(LETTERS[1:4],3)),val=rpois(12,1.5))
tdata$val<-tdata$val/max(tdata$val)
我找到了两种方法来做到这一点,但都有各自的缺点:
1)
qplot(cat1,cat2,data=tdata,geom="tile",fill=val) + scale_fill_continuous(limits=c(.Machine$double.eps,1))
这有一个缺点,即最小值颜色不会打印在比例中。
2)
qplot(cat1,cat2,data=tdata,geom="tile",fill=val,alpha=ifelse(val,1,0))
这有一个缺点,即 alpha 比例也会被绘制。将 alpha 参数包装在 I()
中会导致其失败。
有没有一种方法可以做到这一点而没有缺点?
I'm using the geom_tile
to draw an imagemap and want to clear out the zero level for clarity.
#dummy data
set.seed(1)
tdata <- data.frame(cat1=rep(letters[1:3],4),cat2=sort(rep(LETTERS[1:4],3)),val=rpois(12,1.5))
tdata$val<-tdata$val/max(tdata$val)
I have found 2 ways to do this but both have their drawbacks:
1)
qplot(cat1,cat2,data=tdata,geom="tile",fill=val) + scale_fill_continuous(limits=c(.Machine$double.eps,1))
This has the drawback that the min value colour isn't printed in the scale.
2)
qplot(cat1,cat2,data=tdata,geom="tile",fill=val,alpha=ifelse(val,1,0))
This has the drawback that the alpha scale is plotted too. Wrapping the alpha argument in an I()
causes it to fail.
Is there a way to do this without the drawbacks?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以对数据进行子集化。
You can subset your data.