我们如何在R中复制Tufte的隐式水平线?

例如,以下是一个很好的起点:
library(ggplot2)
ggplot(msleep, aes(x=order)) + stat_bin() + theme_bw()删除边界线应该是直接的。在我看来,关键的一点,就是把横线和栏杆叠加在一起,这一点我不清楚。
我想这里有两种方法:
发布于 2013-03-24 13:17:21
在@下面,我使用theme_tufte,使用extrafont包更改字体,并使用opts微调所有其他可视化功能:
library(ggthemes)
library(extrafont)
ggplot(msleep, aes(x=order)) + stat_bin(width=0.6, fill="gray") +
theme_tufte(base_family="GillSans", base_size=16, ticks=F) +
theme(axis.line=element_blank(), axis.text.x=element_blank(),
axis.title=element_blank()) +
geom_hline(yintercept=seq(5, 20, 5), col="white", lwd=1.2)

发布于 2012-12-04 11:10:22
原则上,这是直截了当的--你所需要做的就是在一个新的层中画出白色的水平线。您可以使用geom_hline来完成以下操作:
library(ggplot2)
ggplot(msleep, aes(x=order)) + stat_bin() + theme_bw() +
geom_hline(yintercept=seq(5, 20, 5), col="white")

至于你的第二个问题--我想这可能很难融入主题中,尽管应该可以创建一个定制的geom来读取y尺度的断点,并相应地绘制线条。
(我希望被证明是错的。)
发布于 2013-10-26 18:44:09
这里还有一个非常简单的基本R解决方案:
tmp <- table(msleep$order)
barplot(tmp, col='black', las=3)
abline(h=seq(5, max(tmp), by=5), col='white', lwd=2)

https://stackoverflow.com/questions/13701485
复制相似问题