# R語言中散點圖怎么畫
散點圖(Scatter Plot)是數據可視化中最基礎的圖表類型之一,用于展示兩個連續變量之間的關系。在R語言中,繪制散點圖可以通過基礎繪圖系統、`ggplot2`包等多種方式實現。本文將詳細介紹不同方法的實現步驟,并附代碼示例。
---
## 一、基礎繪圖系統繪制散點圖
R語言內置的`plot()`函數是繪制散點圖的最簡單方式。
### 1. 基本語法
```r
plot(x, y, main="標題", xlab="X軸標簽", ylab="Y軸標簽", col="顏色", pch=點形狀)
# 生成示例數據
set.seed(123)
x <- rnorm(50, mean=10, sd=2)
y <- 2 * x + rnorm(50, sd=3)
# 繪制基礎散點圖
plot(x, y,
main="基礎散點圖示例",
xlab="自變量X",
ylab="因變量Y",
col="blue",
pch=16) # pch=16為實心圓點
pch: 控制點的形狀(1-25為預設形狀,16為實心圓點)cex: 控制點的大?。J1,大于1放大)col: 設置顏色(支持顏色名稱或十六進制代碼)ggplot2是R中最流行的可視化包,提供更靈活的繪圖方式。
install.packages("ggplot2")
library(ggplot2)
ggplot(mtcars, aes(x=wt, y=mpg)) +
geom_point() +
labs(title="汽車重量與油耗關系", x="重量(噸)", y="每加侖里程")
ggplot(mtcars, aes(x=wt, y=mpg, color=as.factor(cyl))) +
geom_point(size=3) +
scale_color_manual(values=c("red","green","blue"))
ggplot(mtcars, aes(x=wt, y=mpg)) +
geom_point() +
geom_smooth(method="lm", se=FALSE, color="red")
需要創建交互式圖表時,可以使用plotly包。
install.packages("plotly")
library(plotly)
plot_ly(mtcars, x=~wt, y=~mpg,
type="scatter", mode="markers",
color=~as.factor(cyl),
hoverinfo="text",
text=~paste("車型:", rownames(mtcars)))
當數據量超過1萬點時,建議使用:
- geom_hex()(六邊形分箱)
- geom_density_2d()(二維密度圖)
ggplot(diamonds, aes(x=carat, y=price)) +
geom_hex(bins=50)
使用pairs()函數快速生成多變量散點圖矩陣:
pairs(iris[,1:4], col=iris$Species)
library(ggExtra)
p <- ggplot(mtcars, aes(x=wt, y=mpg)) + geom_point()
ggMarginal(p, type="histogram")
點重疊嚴重:
position_jitter()添加輕微抖動geom_point(position=position_jitter(width=0.1, height=0.1))
圖例修改:
guides(color=guide_legend(title="氣缸數"))
導出高清圖片:
ggsave("plot.png", width=8, height=6, dpi=300)
R語言提供了從簡單到復雜的多種散點圖繪制方案?;A繪圖系統適合快速查看數據,ggplot2適合出版級圖表,而plotly則能滿足交互需求。根據具體場景選擇合適的方法,并善用顏色、形狀等視覺元素增強圖表表現力。
提示:運行示例前請確保已安裝相關包,實際繪圖時建議使用自己的數據集替代示例數據。 “`
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。