base(plot函数)
ggplot2
ggpubr
经典三段论
ggsave
eoffice-topptx
低级绘图函数不能单独运行,必须依托高级绘图函数,可以对画出来的图添加细节。
ggplot(data = <DATA>) +
<GEOM_FUNCTION>(mapping = aes(<MAPPINGS>))
特殊语法:列名不带引号,行末写加号
映射与手动设置的比较
映射:根据数据的某一列的内容分配颜色
手动设置:把图形设置为一个或n个颜色,与数据内容无关
Q1:自行指定映射的颜色
ggplot(data = iris)+
geom_point(mapping = aes(x = Sepal.Length,
y = Petal.Length,
color = Species))+
scale_color_manual(values = c("blue","grey","red"))
#使用配色包配色
ggplot(data = iris)+
geom_point(mapping = aes(x = Sepal.Length,
y = Petal.Length,
color = Species))+
scale_color_brewer(palette = "Set1")
Q2区分color和fill两个属性
1 空心形状和实心形状都用color设置颜色
ggplot(data = iris)+
geom_point(mapping = aes(x = Sepal.Length,
y = Petal.Length,
color = Species),
shape = 17) #17号,实心的例子
ggplot(data = iris)+
geom_point(mapping = aes(x = Sepal.Length,
y = Petal.Length,
color = Species),
shape = 2) #2号,空心的例子
2 既有边框又有内心,才需要color和fill两个参数
ggplot(data = iris)+
geom_point(mapping = aes(x = Sepal.Length,
y = Petal.Length),
shape = 24,
color = "red",
fill = "yellow") #24号,双色的例子
几何对象可以叠加
#局部设置和全局设置
ggplot(data = iris) +
geom_smooth(mapping = aes(x = Sepal.Length,
y = Petal.Length))+
geom_point(mapping = aes(x = Sepal.Length,
y = Petal.Length))
ggplot(data = iris,mapping = aes(x = Sepal.Length, y = Petal.Length))+
geom_smooth()+
geom_point()
图层和几何对象一个意思
确保横纵坐标上不同点不会重叠到一块去
ggplot(data = iris,mapping = aes(x = Species,
y = Sepal.Width,
fill = Species)) +
geom_boxplot()+
#geom_point(position = "jitter")
geom_jitter()
coord_flip()翻转坐标系
theme_bw()改主题,去掉灰色的格子
图层叠放顺序:先写先放(底层)
library(ggpubr)
p = ggboxplot(iris, x = "Species", y = "Sepal.Length",
color = "Species", shape = "Species",add = "jitter")
p
my_comparisons <- list( c("setosa", "versicolor"),
c("setosa", "virginica"),
c("versicolor", "virginica") )
p + stat_compare_means(comparisons = my_comparisons,
aes(label = after_stat(p.signif)))
ggsave(p,filename = "iris_box_ggpubr.png")
library(eoffice)
topptx(p,"iris_box_ggpubr.pptx")
dev.off()
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。