R語言實戰(三)圖形初階

第三章 圖形初階

3.1 圖形使用

3.1.1 繪製圖形

attach(mtcars) #綁定數據框mtcars,需要注意的是mtcars里自帶有demo數據nplot(wt,mpg) #繪製散點圖,因為默認類型是散點圖,後面詳解nabline(lm(mpg-wt)) #繪製最優擬合曲線ntitle("Regression of MPG on Weight") #使用title()添加曲線ndetach(mtcars) #解綁n

3.1.2 保存圖形

最簡單的方法是在 RStudio 點擊 Export 保存:

也可以用代碼保存圖片,只要將繪圖語句夾在開啟目標圖形設備的語句和關閉目標設備的語句之間即可。例如,以下代碼會把生成的散點圖保存到當前目錄中的graph.pdf:

pdf("graph.pdf")nattach(mtcars)nplot(vs, mpg)ndetach(mtcars)ndev.off()n

若不知道當前目錄是什麼,在Console里輸入dir(),即可顯示。

3.2 參數修改

3.2.1 plot()詳解

plot()正如其名,起到的是繪圖作用,一般情況下我們只要輸入plot(a, b),即可生成以a為x軸,b為y軸的散點圖,這是因為默認情況下plot()里的type參數是type=p,也就是points,散點圖。以下是type的詳細類型:

  • type="p"為散點圖(points)

  • type="l"為折線圖(lines)

  • type="b"為以上二者的結合(both)

  • type="o"和上者差不多,只不過線會穿過繪製的點

  • type="h"類似柱形圖,只不過不是柱,而是線(histogram-like),柱狀圖的繪圖函數為hist()

  • type="s"為階梯變化圖(stair steps)

  • type="S"為另一種階梯

  • type="n"為不繪圖,但會有坐標軸

其他參數詳解:

  • main="A Sample Main Title" 該參數用於修改該繪圖的主標題(引號部分內均為實例,可以修改,下同)
  • sub="A Sample SubTitle" 修改副標題
  • xlab="sample x-axis name" 修改x軸名字
  • ylab="sample y-axis name" 修改y軸名字
  • xlim=c(0, 60) 修改x軸範圍,該示例代碼範圍為從0~60
  • ylim=c(0, 60) 修改y軸範圍,該示例代碼範圍為從0~60

若是想知道如何輸入數學公式,輸入?plotmath來看幫助文檔,輸入demo(plotmath)來看其演示。

Note: 使用lines()可以在之前plot()繪出圖形的基礎上增加其他線條

3.2.2 圖形參數

我們可以通過函數par()來修改一幅圖形的多個特徵。不加參數地執行par()將生成一個含有當前圖形參數設置的列表。添加參數no.readonly=TRUE可以生成一個可以修改的當前圖形參數列表。

opar <- par(no.readonly = TRUE) #複製當前圖形參數npar(lty=2, pch=17) #修改為虛線、實心三角nplot(dose, drugA, type = "b") #繪圖npar(opar) #還原上次複製的參數n

3.3 符號和線條

指定符號和線條類型參數:

  • pch指定繪製點的符號
  • cex指定符號的大小,數值為默認大小的縮放倍數
  • lty指定線條類型
  • lwd指定線條寬度

pch的類型可輸入?pch來查看

3.4 顏色調整

  • col修改繪圖顏色
  • col.axis坐標軸刻度文字顏色
  • col.lab坐標軸標籤的顏色
  • col.main標題顏色
  • col.sub副標題顏色
  • fg圖形前景色
  • bg圖形背景色

可以用RColorBrewer來創建更好看的顏色配對,使用前需要自行下載(install.packages("RColorBrewer"))

文本、自定義坐標軸和圖例

文本屬性

文本大小參數:

  • cex表示相對於默認大小的縮放倍數的數值
  • cex.axis坐標軸刻度文字的縮放倍數
  • cex.lab坐標軸標籤的縮放倍數
  • cex.main標題的縮放倍數
  • cex.sub副標題的縮放倍數

字體相關參數: font的參數與cex有很多類似的地方,不加贅述。需要時輸入?par查看文檔即可。

自定義坐標軸

使用axis()創建自定義坐標軸,輸入?axis查看文檔。

參考線

使用abline()來添加參考線

abline()的參數中的h為水平線(horizontal),v為垂直線(vertical),a為截距,b為坡度。a和b的關係可以用數學公式表示為y=bx+a。

我們也可以在abline()中加入lm()來描繪線性模型。具體可以輸入?lm查看文檔。

圖例

使用legend()添加圖例

文本標註

我們可以通過text()和mtext()將文本加到圖形上。text()可以向繪圖區域內部添加文本,mtext()則向圖形四個邊界之一添加文本。使用格式分別為:

text(location, "text to place", pos, ...)nmtext("text to place", side, line=n, ...)n

除此之外text()也經常用來標識圖形中的點,示例代碼:

attach(mtcars)nplot(wt,mpg,n main="Mileage vs. Car Weight",n xlab="Weight",ylab="Mileage",n pch=18, col="blue")ntext(wt,mpg,n row.names(mtcars), n cex=0.6, pos=4, col="red")ndetach(mtcars)n

推薦閱讀:

使用R語言對照片人物進行情緒分析
第四講:概率思維及應用
kaggle:員工離職情況分析(R語言)
SparkSQL數據分析項目---性能調優
【文本分析】利用jiebaR進行中文分詞

TAG:R编程语言 | 大数据 | 数据分析 |