考虑下图:
x <- 1:100
y1 <- rnorm(100)
y2 <- rnorm(100)+100
par(mar=c(5,5,5,5))
plot(x,y1,pch=0,type="b",col="red",yaxt="n",ylim=c(-8,2),ylab="")
axis(side=2, at=c(-2,0,2))
mtext("red line", side = 2, line=2.5, at=0)
par(new=T)
plot(x,y2,pch=1,type="b",col="blue",yaxt="n",ylim=c(98,108), ylab="")
axis(side=4, at=c(98,100,102), labels=c("98%","100%","102%"))
mtext("blue line", side=4, line=2.5, at=100)
如何删除自动生成的边框并仅保留轴线以实现Tufte的样式?
FWIW的图夫特走得更远:他展示了在某些情况下如何擦除轴的一部分本身会提供更多信息,从而有效地将每个轴转变为数据范围的可视显示。受此启发,我于1989年编写了软件,以制作包含该设计的小幅多幅图(在其他许多图法和比尔·克利夫兰小组的启发中),随后生成了数百万张这样的图形。当您必须在视觉上挖掘大量数据时,这些原理确实有效。
—
ub
@whuber实际上,您是否用地毯图代替了轴?
—
银鱼
@Silver绘制地毯图是一个单独的问题-我也这样做了。但是,即使没有地毯图,您也可以选择在何处停止并开始绘制每个轴。当最小启动它并且最大停止它时,您已经获得了每个边际数据分布的整个范围的直观表示。
—
ub
@whuber谢谢,我现在明白了您的意思-Tufte将此称为“范围框架”(并建议不仅在极值处停止行,还建议使用最终标签指示其值-他称为“带有范围标签的范围框架”)。对于希望参考的以后的读者来说,这来自于定量信息的可视化显示,第7章(“多功能图形元素”)。由于这是一个受到高度关注的线程,很高兴看到添加了一个插图(并给出了问题,一些R代码)“ Tufte的轴”的真正含义是什么。
—
银鱼
bty
参数。您可以在调用中将此参数传递给。?par
bty="n"
plot