Paul Murrell の最後の本 ( R グラフィックス 2nd Edition ) には、 と を使用して対話型時計を描画するためのコードがいくつかgrid
ありgwidget
ます。
以下は、単純な非対話型時計を描画するためのサンプル コードです。
require(grid)
drawClock <- function(hour, minute) {
t <- seq(0, 2*pi, length=13)[-13]
x <- cos(t)
y <- sin(t)
grid.newpage()
pushViewport(dataViewport(x, y, gp=gpar(lwd=4)))
# Circle with ticks
grid.circle(x=0, y=0, default="native",
r=unit(1, "native"))
grid.segments(x, y, x*.9, y*.9, default="native")
# Hour hand
hourAngle <- pi/2 - (hour + minute/60)/12*2*pi
grid.segments(0, 0,
.6*cos(hourAngle), .6*sin(hourAngle),
default="native", gp=gpar(lex=4))
# Minute hand
minuteAngle <- pi/2 - (minute)/60*2*pi
grid.segments(0, 0,
.8*cos(minuteAngle), .8*sin(minuteAngle),
default="native", gp=gpar(lex=2))
grid.circle(0, 0, default="native", r=unit(1, "mm"),
gp=gpar(fill="white"))
}
今、あなたはこのようにそれを試すことができます
drawClock(hour = 2, minute = 30)

完全なコード はこちら