base:
ggplot2:
ggpubr:
par里面的mfrow
grid.arrange
cowplot
customLayout
patchwork
ps:高级绘图函数是指可以绘制出一张图,而低价绘图函数是指在图中添加的“零部件”,低级绘图函数必须在高级绘图函数的基础上才能绘制,二者都是base包的内容
eg:plot绘图
> plot(iris[,1],iris[,3],col=iris[,5])
#以iris表格第一列作为x轴,第三列作为y轴,根据品种来绘制不同颜色
> text(6.5,4,label="hello") #添加文字,并加上坐标
⚠️⚠️首先必须 library(ggplot2)
> ggplot(data = iris)+
geom_point(mapping = aes(x = Sepal.Length,
y = Petal.Length))
1⃣️ggplot是绘制整个画板,data是用于画图的数据
2⃣️geom_point是绘制点图
3⃣️mapping=aes() 开始映射,即x轴的数据是Sepal.Length,y轴数据Petal.Length,不需要加引号
(以上代码的数据的映射放在了具体的geom_point函数中,如果整体映射是一致的,可以把映射放到ggplot()中,这样子如果没有特殊情况,后面的绘图函数不需要重新映射,但是如果映射在geom_开头的函数中,每一个函数都需要重新映射)
例如:
> ggplot(data=iris,mapping = aes(x = Sepal.Length,y = Petal.Length))+geom_point()
以上两种代码的写法,最后画出的图是一致的!!
>ggplot(data = iris) +
geom_point(mapping = aes(x = Sepal.Length, y = Petal.Length),
size = 5, # 点的大小5mm
alpha = 0.5, # 透明度 50%
shape = 8, #点的形状
color="blue") #颜色设置
ggplot(data = iris)+
geom_point(mapping = aes(x = Sepal.Length,
y = Petal.Length,
color = Species))
ggplot(data = iris)+
geom_point(mapping = aes(x = Sepal.Length,
y = Petal.Length,
color = Species))
+
scale_color_manual(values = c("blue","grey","red"))
总结:映射可以根据某一列的内容分配颜色,手动设置是把图像设置为一个或多个颜色,与数据无关。
1)空心和实心的形状用color设置即可,因为只有一个颜色
2)有两种颜色的形状,color设置边框、fill设置填充
ggplot(data = iris)+
geom_point(mapping = aes(x = Sepal.Length,
y = Petal.Length,
color = Species),
shape = 24,fill = "black")
ggplot(data = iris) + geom_point(mapping = aes(x = Sepal.Length, y = Petal.Length,color=Species))
+ facet_wrap(~ Species)
>dat = iris
>dat$Group = sample(letters[1:5],150,replace = T)
#不要更改内置数据集,可以把数据集赋值后修改
>ggplot(data = dat) +
geom_point(mapping = aes(x = Sepal.Length, y = Petal.Length))
+
facet_grid(Group ~ Species)
ggplot() 的映射可以在全局使用,geom_function的映射只能在局部使用
ggplot(data = diamonds) +
geom_bar(mapping = aes(x = cut)) #常用于统计个数,y轴会根据x轴自动计算
也可以把count改成prop,计算百分比
>ggplot(data = diamonds) +
geom_bar(mapping = aes(x = cut, y = ..prop.., group = 1))
a)点图设置
>ggplot(data = iris,mapping = aes(x = Species, y = Sepal.Width,
fill = Species))
+
geom_boxplot()+
geom_point()
ggplot(data = iris,mapping = aes(x = Species,
y = Sepal.Width,
fill = Species))
+
geom_boxplot()+
geom_jitter()
b)堆叠直方图
ggplot(data = diamonds) +
geom_bar(mapping = aes(x = cut,fill=clarity))
c)并列直方图
ggplot(data = diamonds) +
geom_bar(mapping = aes(x = cut, fill = clarity), position = "dodge")
coord_flip( ). 翻转坐标系
coord_polar( ) 极坐标系
与ggplot2类似,但是不用映射
ggpubr::ggboxplot(iris,x="Species",y="Sepal.Length",color = "Species",shape="Species",add="jitter")
ps:在ggplot2用geom_jitter() ,在ggpubr用add="jitter"
1)ggplpot2包
ggsave( "example.png")
ggsave(p,filename="example_2.png"). #ggsave也可以保存ggpubr画的图片
2)ggpubr包
ggexport(filename="example_3.png") #ggexport是保存ggpubr的图片 png/pdf格式都可以
3)eoffice包(输出ppt的神器)
topptx(p,"example.pptx") #输出ppt格式的图片,图中的每一个元素都是独立可移动、可编辑
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。