您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
# 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
: 控制点的大小(默认1,大于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语言提供了从简单到复杂的多种散点图绘制方案。基础绘图系统适合快速查看数据,ggplot2
适合出版级图表,而plotly
则能满足交互需求。根据具体场景选择合适的方法,并善用颜色、形状等视觉元素增强图表表现力。
提示:运行示例前请确保已安装相关包,实际绘图时建议使用自己的数据集替代示例数据。 “`
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。