1、plot(代碼註釋說明)
x<-seq(-3,11,len=8)
y_float<-c(0.0118740242521950,0.0091057538361494,0.0071377665672741,0.0055924181000629,0.0044031276652462, 0.0035296146085217, 0.0028331581203653,0.0022862284829942)
y_int<-c(0.011646798525798,0.009197650732455,0.007194266428098,0.005641787783029,0.004451607654203,0.003545816453096,0.002774558531322,0.002327307729162)
windowsFonts(TNM = windowsFont("Times New Roman")) #字體設置
windowsFonts(Son = windowsFont("宋體"))
plot(
x,y_float,
xlim=c(-3,11), #x軸範圍設置(最大最小值)
xlab="SNR/dB", #x軸標題
ylab="估計誤差", #y軸標題
family="Son",
family="TNM", #字體設置
col='black', #顏色
# yaxs="i",xaxs="i", #去掉座標預留空間
lty=1, #線型
lwd=2, #線寬
pch=0, #點的符號形狀
cex=2, #符號大小
type='b', #點連接方式 l線 b點線 p點
)
lines( #在前一條產生窗口的繪圖指令上添加線條
x,y_int,
xlim=c(-3,11),
xlab="SNR/dB",
ylab="估計誤差",
family="Son",
family="TNM",
col='red',
# yaxs="i",xaxs="i",
lty=1,
lwd=2,
pch=1,
cex=2,
type='b',
)
axis(1, #軸線(1234->下左上右)
seq(-3,11),seq(-3,11), #座標控制
las=1, #文字方向
font.axis=1, #字體(粗細斜)
family="TNM")
abline(v=x,lty=2) #作直線 v豎h橫
abline(h=c(0.01),lty=2)
#grid(nx=7,ny=6,lwd=2,col='blue')#作網格
legend("topright",legend=c("浮點","定點"),col=c("black","red"),pch=c(0,1),lty=1)
#圖例 top/bottom+left/right(位置設置)
2、hist(代碼註釋說明)
windowsFonts(TNM = windowsFont("Times New Roman"))
windowsFonts(Son = windowsFont("宋體"))
freq_offset <- matrix(1:4000,nrow=2) #生成4000個元素的矩陣,分兩行
freq_offset[1,] <- rnorm(2000,0,0.005) #正態隨機生成2000個數,均值0,標準差0.005)
freq_offset[2,] <- rnorm(2000,0,0.004)
par(mfrow=c(1,2)) #多圖同時顯示(左右順序排布)
###############################################################
num_1=as.numeric(freq_offset[1,])#freq_offset爲導入得2x2000 tbl_df 格式矩陣文件,轉爲numeric格式(只能向量轉)
hist(num_1,
breaks = 20, #分割直方個數
freq = F, #縱座標:T爲頻數,F爲頻率
col="pink",
border = 'white', #直方邊顏色
main='SNR=-3dB',family="Son",family="TNM", #標題與字體
xlab = '估計誤差',xlim=c(-0.01,0.01),ylab = '頻率')
curve(dnorm(x, #函數正態擬合 curve爲函數作圖
mean=mean(num_1),
sd=sd(num_1)),
xlim=c(-0.01,0.01),
add=TRUE) #線條加入到上一幅圖(FALSE爲獨立顯示)
###############################################################
num_2 <-as.numeric(freq_offset[2,])
hist(num_2,
breaks = 20,
freq = FALSE,
col="pink",
border = 'white',
main='SNR=-1dB',family="Son",family="TNM",
xlab = '估計誤差',xlim=c(-0.01,0.01),ylab = '頻率')
curve(dnorm(x,
mean=mean(num_2),
sd=sd(num_2)),
xlim=c(-0.01,0.01),
add=TRUE)
參考文章:
1、R語言繪圖樣式設置(符號、線條、顏色、文本屬性)
2、R語言hist繪圖函數
3、R語言作圖:座標軸設置
4、R語言中Legend 函數的參數詳解錯誤解決: