R语言学习case11:ggplot 置信区间(包含多子图)

ggplot Geometric objects

How are these two plots similar?

两个图都包含相同的x变量、相同的y变量,并且描述相同的数据。但是这两个图并不相同。每个图使用不同的可视化对象来表示数据。在ggplot2语法中,我们说它们使用不同的geoms。

geom是绘图使用的几何对象,用于表示数据。人们通常通过绘图使用的geom类型来描述图表。例如,柱状图使用bar geoms,折线图使用line geoms,箱线图使用boxplot geoms,以此类推。散点图打破了这个趋势;它们使用point geom。正如我们在上面看到的,您可以使用不同的geoms来绘制相同的数据。左侧的图使用point geom,右侧的图使用smooth geom,即对数据拟合的平滑曲线。

要更改图中的geom,请更改添加到ggplot()的geom函数。例如,要制作上面的图,您可以使用以下代码:

bash 复制代码
# left
ggplot(data = mpg) + 
  geom_point(mapping = aes(x = displ, y = hwy))

# right
ggplot(data = mpg) + 
  geom_smooth(mapping = aes(x = displ, y = hwy))

多子图绘制

bash 复制代码
library(gridExtra)

# left
plot1 <- ggplot(data = mpg) + 
  geom_point(mapping = aes(x = displ, y = hwy))

# right
plot2 <- ggplot(data = mpg) + 
  geom_smooth(mapping = aes(x = displ, y = hwy))

# 将2个图形组合成一个1x2的子图布局
grid.arrange(plot1, plot2, nrow = 1, ncol = 2)
相关推荐
znhy@1236 分钟前
十三、JS进阶(二)
开发语言·前端·javascript
@木辛梓15 分钟前
Linux 线程
linux·开发语言·c++
rengang6634 分钟前
10-神经网络的工作原理:分析神经网络如何学习和推理
人工智能·深度学习·神经网络·学习
孤独的追光者43 分钟前
使用Qt Designer开发上位机
开发语言·python·qt
m0_736927041 小时前
Java面试场景题及答案总结(2025版持续更新)
java·开发语言·后端·职场和发展
muyouking111 小时前
Rust + WASM + Svelte 深度实战:内存管理、性能权衡与图像处理进阶
开发语言·rust·wasm
仟濹1 小时前
「经典数字题」集合 | C/C++
c语言·开发语言·c++
lkbhua莱克瓦241 小时前
Java练习——正则表达式2
java·开发语言·笔记·正则表达式·github·学习方法
立志成为大牛的小牛1 小时前
数据结构——三十六、拓扑排序(王道408)
数据结构·学习·程序人生·考研·算法
懒羊羊不懒@1 小时前
JavaSe—List集合系列
java·开发语言·数据结构·人工智能·windows