매우 순진한 접근법은 예를 들어 geom_rect()
을 사용하여 키보드를 그리는 것입니다. 첫 번째 단계는 각 행을 만드는 것입니다. 실제로는 쉽게 잃어 버리지 않기 때문에 별도로 수행했습니다. 키를 다른 값으로 변경하는 것은 각 데이터 프레임 내부에서 쉽게 찾을 수 있기 때문에 매우 간단합니다.
library(ggplot2)
#1st line from top
df1=data.frame(xmin=c(0,1,2,3,4,5,6,7,8,9,10,11,12,13),
xmax=c(1,2,3,4,5,6,7,8,9,10,11,12,13,15),
ymin=rep(4,14),
ymax=rep(5,14),
value=c("'","1","2","3","4","5","6","7","8","9","0","-","=","backspace"))
#2nd line from top
df2=data.frame(xmin=c(0,1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5,9.5,10.5,11.5,12.5,13.5),
xmax=c(1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5,9.5,10.5,11.5,12.5,13.5,15),
ymin=rep(3,14),
ymax=rep(4,14),
value=c("tab","Q","W","E","R","T","Y","U","I","O","P","[","]","enter"))
#3rd line from top
df3=data.frame(xmin=c(0,1.75,2.75,3.75,4.75,5.75,6.75,7.75,8.75,9.75,10.75,11.75,12.75,13.75),
xmax=c(1.75,2.75,3.75,4.75,5.75,6.75,7.75,8.75,9.75,10.75,11.75,12.75,13.75,15),
ymin=rep(2,14),
ymax=rep(3,14),
value=c("caps","A","S","D","F","G","H","J","K","L",":","@","~","enter"))
#4th line from top
df4=data.frame(xmin=c(0,1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5,9.5,10.5,11.5,12.5),
xmax=c(1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5,9.5,10.5,11.5,12.5,15),
ymin=rep(1,13),
ymax=rep(2,13),
value=c("shiftr","|","Z","X","C","V","B","N","M","<",">","?","shiftr"))
#5th line from top
df5=data.frame(xmin=c(0,1.5,2.5,4,10,11.5,12.5,13.5),
xmax=c(1.5,2.5,4,10,11.5,12.5,13.5,15),
ymin=rep(0,8),
ymax=rep(1,8),
value=c("ctrll","winl","altl","space","altgr","winr","menu","ctrlr"))
#putting it together
df=rbind(df1,df2,df3,df4,df5)
ggplot(df,aes(xmin = xmin, xmax = xmax, ymin = ymin, ymax = ymax))+
geom_rect(colour="black")+geom_text(aes(x=(xmin+xmax)/2,y=(ymin+ymax)/2,label=value))+
theme_void()
참고 :이 훨씬 완벽한으로부터 ("Enter"키가 2로 분할됩니다)하지만 당신에게 어떤 아이디어 나 작업 할 수있는 기반을 제공 할 수도 있습니다.
아마도 당신은 단순히 그 png 이미지를 플로팅 한 다음 위에 여분의 레이블을 그려 보는 것이 가장 좋습니다. 또한 다른 사용자가 다른 키보드 배열을 가지고 있음을 인식해야합니다. – Axeman