点图,也可以叫做散点图,通过绘制散点来呈现数据的分布,使用geom_dotplot()函数来绘制点图,散点图可以参考这一篇:散点图。具体参数如下↓
mapping:使用aes()来设置点图美学特征,参数x是因子,参数y是数值data:数据框对象method:默认值是dotdensity(点密度封箱),或者histodot,固定的封箱宽度,比如 stat_binbinwidth:bin是封箱的意思,该参数用于调整组距,该参数受到method参数的影响,如果method是dotdensity,那么binwidth指定最大的bin宽度;如果method是histodot,那么binwidth指定bin的宽度,默认值是数据范围(range of the data)的1/30。binaxis:沿着那个轴进行封箱,默认值是xstackdir:设置堆叠点的方向,默认值是up,有效值是down、center、centerwhole和up。stackratio:点堆叠的密集程度,默认值是1,值越小,堆集越密集;dotsize:点的大小,相对于binwidth的直径,默认值是1。
【数据准备】
数据是2019年和2018年各省的GDP,然后按照东中西三个区域划分,方便后面进行绘图比较。
setwd("E:/R/基础/data")library(xlsx)library(ggplot2)df = read.xlsx("各省2019年GDP数据.xlsx",1,encoding = "UTF-8")df2019 = subset(df,年份=="2019年")
最基础的画法,按照东中西三个区域划分,画出每个省份的GOP情况,每个点表示一个省份。stackdir:设置堆叠的方向,默认值是up,有效值是down、center、centerwhole和up。
p geom_dotplot(binaxis='y', stackdir='center')p
stackratio:点堆叠的密集程度,默认值是1,值越小,堆集越密集;
dotsize:点的大小,相对于binwidth的直径,默认值是1。
ggplot(df2019, aes(x=地区, y=GDP)) + geom_dotplot(binaxis='y', stackdir='center', stackratio=1.8, dotsize=1.2)
横向展示
p + coord_flip()
添加统计参数,添加每组的均值
p + stat_summary(fun.y=mean, geom="point", shape="*", size=15, color="red")
添加统计参数,添加每组中位数值
p + stat_summary(fun.y=median, geom="point", shape="*", size=15, color="#F09205")
在点图上添加箱型图
ggplot(df2019, aes(x=地区, y=GDP)) + geom_boxplot()+ geom_dotplot(binaxis='y', stackdir='center')
在点图上添加凹型箱线图
ggplot(df2019, aes(x=地区, y=GDP)) + geom_boxplot(notch = TRUE)+ geom_dotplot(binaxis='y', stackdir='center')
在点图上添加小提琴图
ggplot(df2019, aes(x=地区, y=GDP)) + geom_violin(trim = FALSE)+ geom_dotplot(binaxis='y', stackdir='center')
添加平均值和标准差
p geom_dotplot(binaxis='y', stackdir='center')p + stat_summary(fun.data="mean_sdl", fun.args = list(mult=1.5), geom="crossbar", width=0.5)
p + stat_summary(fun.data=mean_sdl, fun.args = list(mult=1.5), geom="pointrange", color="red")
设置点图颜色
填充单一色彩,在geom_dotplot里面设置fill参数
ggplot(df2019, aes(x=地区, y=GDP)) + geom_dotplot(binaxis='y', stackdir='center', fill="#39BF34")
根据不同地区填充不同颜色
ggplot(df2019, aes(x=地区, y=GDP, fill=地区)) + geom_dotplot(binaxis='y', stackdir='center')
不同地区自定义不同颜色
p geom_dotplot(binaxis='y', stackdir='center')+ scale_fill_manual(values=c("#474747", "#D89329", "#11AA3D"))p
设置图例位置,分别是在上面、下面、不显示图例
p + theme(legend.position="top")
p + theme(legend.position="bottom")
p + theme(legend.position="none")
变换区域显示顺序
p + scale_x_discrete(limits=c("3西部", "2中部", "1东部"))
根据不同年份fill=年份分成两种颜色
ggplot(df, aes(x=地区, y=GDP, fill=年份)) + geom_dotplot(binaxis='y', stackdir='center')
通过设置position,把两年的GDP分开显示
p geom_dotplot(binaxis='y', stackdir='center', position=position_dodge(0.8))p
自定义颜色
p+scale_fill_manual(values=c("#999999", "#0CB63D"))
添加箱线图
p+geom_boxplot(fill="white")+ geom_dotplot(binaxis='y', stackdir='center')
把两年数据分开显示,更直观
p+geom_boxplot(position=position_dodge(0.8))+ geom_dotplot(binaxis='y', stackdir='center', position=position_dodge(0.8))
End
◆ R语言分词_jiebaR包
◆ R语言_TreeMap
◆ R_脸谱图