R的背景色幕 5種符號

2024年2月6日 21点热度 0人点赞

基本背景色幕繪制


#傳統方法繪背景色
win.graph(width=10,height=6) 
plot.new()
par(mar=c(0,0,0,0))
image(matrix(1:1000,10), col = rev(heat.colors(100)),add=T, axes=F)
#輸出png文件時,一定不能有 win.graph(width=10,height=6) ,否則出錯
plot.new()
par(mar=c(0,0,0,0))
plot.window(xlim = c(0, 1),ylim = c(0,1), xaxs="i",yaxs="i")   #該句可有可無
image(matrix(1:1000,10), col = rev(heat.colors(100)),add=T, axes=F)


image()函數可以直接繪制色幕,無需plot()函數框架

# 直接相當於plot()的功能,去掉add=T
image(matrix(1:1000,10), col = rev(cm.colors(100)),axes=F)
symbols(0.2,0.8, stars=as.matrix(t(c(0.1,0.05,0.1,0.05, 0.1,0.05,0.1,0.05,0.1,0.05)/2)),add=T, bg="yellow", lwd=1, inches=F) 
symbols(0.1,0.6, stars=as.matrix(t(c(0.1,0.05,0.1,0.05, 0.1,0.05,0.1,0.05,0.1,0.05)/2)),add=T, bg="blue", lwd=1, inches=F) 
symbols(0.3,0.7, stars=as.matrix(t(c(0.1,0.05,0.1,0.05, 0.1,0.05,0.1,0.05,0.1,0.05)/2)),add=T, bg=2, lwd=1, inches=F) 


直接在plot()函數產生的空白區添加符號,定位更準確



#直接相當在plot()空白區加符號,定位更準確
par(mar=c(0,0,0,0)) 
plot(0:1,ann=F,axes=F,type='n',xlim = c(0, 1),ylim = c(0,1))
for (i in 1:5) symbols(i*2/10,(10-2*i)/10, stars=as.matrix(t(c(0.1,0.05,0.1,0.05, 0.1,0.05,0.1,0.05,0.1,0.05)/2)),add=T, bg=i*3, lwd=1, inches=F) 
for (i in 1:10) symbols(i/10,i/10, stars=as.matrix(t(c(0.1,0.05,0.1,0.05, 0.1,0.05,0.1,0.05,0.1,0.05)/2)),add=T, bg=i, lwd=1, inches=F) 


多種符號添加到調色幕板

#添加矩形、方形、圓、星、溫度計到色板中
plot(1,ann=F,axes=F,type='n',xlim = c(0, 1),ylim = c(0,1))
image(matrix(1:1000,10), col = rev(rainbow(100)),axes=F)
for (i in 1:5) symbols(i*2/10,(10-2*i)/10, stars=as.matrix(t(c(0.1,0.05,0.1,0.05, 0.1,0.05,0.1,0.05,0.1,0.05)/2)),add=T, bg=i*3, lwd=1, inches=F) 
for (i in 0:9) symbols(i/10,i/10, circles=i/150,add=T, bg=i, lwd=1, inches=F) 
symbols(rep(0.2,4),rep(0.35,4),circles=c(0.045,0.03,0.02,0.01),add=T, bg=cm.colors(4), lwd=1, inches=F) 
symbols(rep(0.7,4),rep(0.35,4),rectangles=matrix(c(4:1/20,4:1*0.1),ncol=2),add=T, bg=cm.colors(4), lwd=1, inches=F) 
symbols(1:4/10,rep(0.75,4),rectangles=matrix(c(4:1/20,4:1*0.1),ncol=2),add=T, bg=cm.colors(4), lwd=1, inches=F) 
symbols(6:9/10,5:2/10,thermometers =matrix(c(4:1/30,4:1*0.05,rep(0.05,4)),ncol=3),add=T, bg=topo.colors(4), lwd=1, inches=F) 
symbols(rep(0.7,4),rep(0.1,4),thermometers =matrix(c(4:1/30,4:1*0.05,rep(0.05,4)),ncol=3),add=T, bg=terrain.colors(4), lwd=1, inches=F)