如果你拿下面的代码,你怎么能改变第三个钻石的填充,所以它会是半黑半白?该解决方案应适用于任何颜色。
data <- c(1,2,3)
plot(data, pch=c(23,18,23), cex=c(2.5,3,2.5))
这些pch
字符是实际的字体符号,因此您将被限制在您的字体中可用的内容。另一种选择是使用原始绘图命令来制作您自己的“符号”。这是非常灵活的,尽管在混合这两种方法时可能会出现调整大小等问题。这个方法在很好的my.symbols()
例子中实现:
require(TeachingDemos)
bwDiamond <- function() {
plot.new()
polygon(c(0, 0.5, 1, 0.5, 0), c(0.5, 0, 0.5, 1, 0.5), lty=1)
polygon(c(0.25, 0.5, 1, 0.75, 0.25), c(0.25, 0, 0.5, 0.75, 0.25), col=1)
}
data <- c(1,2,3)
dev.new(width=4, height=4)
plot(data, type='n')
points(data[1:2], pch=c(23,18), cex=c(2.5,3))
my.symbols(data[3], data[3], symb=bwDiamond, symb.plots=TRUE, inches=0.22)
另请参阅此 Q/A:R 中的点符号
grid.semicircle
@JohnColby:好的,这是一种使用from lodplot
package绘制半色圆点的方法。它不像你的多边形那样整洁,但它可以完成工作:
require(lodplot)
dev.new(width=4,height=4)
plot(1:3,type="n")
grid.semicircle(100,150,10,5)#left circle on plot below
grid.semicircle(100,150,10,5,side=3,col=1)
grid.semicircle(200,150,10,5,side=2)#right circle on plot below
grid.semicircle(200,150,10,5,side=4,col=1)