r 语言 ggplot上添加平均值_R语言_013可视化(点图)

论坛 期权论坛 脚本     
匿名技术用户   2021-1-11 17:46   649   0

点图,也可以叫做散点图,通过绘制散点来呈现数据的分布,使用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年")

881e6eefd852214583f73e6c8ae2d54a.png

最基础的画法,按照东中西三个区域划分,画出每个省份的GOP情况,每个点表示一个省份。stackdir:设置堆叠的方向,默认值是up,有效值是down、center、centerwhole和up。

p  geom_dotplot(binaxis='y', stackdir='center')p

15fd54eb9a66adc691afff72f5c28d25.png

stackratio:点堆叠的密集程度,默认值是1,值越小,堆集越密集;

dotsize:点的大小,相对于binwidth的直径,默认值是1。

ggplot(df2019, aes(x=地区, y=GDP)) +   geom_dotplot(binaxis='y', stackdir='center',               stackratio=1.8, dotsize=1.2)

92309593ef7159cdafd2bac6e581748b.png

横向展示

p + coord_flip()

cc946598db325df2ec09dda8c923aa02.png

添加统计参数,添加每组的均值

p + stat_summary(fun.y=mean, geom="point", shape="*",                 size=15, color="red")

ef618433401163dbd4e6ef2aa7fd4954.png

添加统计参数,添加每组中位数值

p + stat_summary(fun.y=median, geom="point", shape="*",                 size=15, color="#F09205")

4d311da19ed584dbe54e458c36df6ca0.png

在点图上添加箱型图

ggplot(df2019, aes(x=地区, y=GDP)) +   geom_boxplot()+  geom_dotplot(binaxis='y', stackdir='center')

b4e12001d834a76b571de0c9782d7783.png

在点图上添加凹型箱线图

ggplot(df2019, aes(x=地区, y=GDP)) +   geom_boxplot(notch = TRUE)+  geom_dotplot(binaxis='y', stackdir='center')

b80d14b2021148ca2a5e862da058e71f.png

在点图上添加小提琴图

ggplot(df2019, aes(x=地区, y=GDP)) +   geom_violin(trim = FALSE)+  geom_dotplot(binaxis='y', stackdir='center')

6c1348f90abf51701a1e2a70b741578e.png

添加平均值和标准差

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)

a17f37e6d266b51d528bb884db286a73.png

p + stat_summary(fun.data=mean_sdl, fun.args = list(mult=1.5),                  geom="pointrange", color="red")

82f12b3d60bc0de51c2ad41cb2dbc259.png

设置点图颜色

填充单一色彩,在geom_dotplot里面设置fill参数

ggplot(df2019, aes(x=地区, y=GDP)) +   geom_dotplot(binaxis='y', stackdir='center', fill="#39BF34")

11af1059c09217be4540f76f22cbaeec.png

根据不同地区填充不同颜色

ggplot(df2019, aes(x=地区, y=GDP, fill=地区)) +   geom_dotplot(binaxis='y', stackdir='center')

50b7813e1528128f380e4cf0af6f8a3e.png

不同地区自定义不同颜色

p   geom_dotplot(binaxis='y', stackdir='center')+  scale_fill_manual(values=c("#474747", "#D89329", "#11AA3D"))p

eba4bdd9aff115fa249cad5187cf8b97.png

设置图例位置,分别是在上面、下面、不显示图例

p + theme(legend.position="top")

8ef1d3d34ffecd74e44bb3eb6d937dcd.png

p + theme(legend.position="bottom")

405c66c6aa76e211f13c75b3b41bc52d.png

p + theme(legend.position="none")

f0d10f04e309449bca332b52e40e5325.png

变换区域显示顺序

p + scale_x_discrete(limits=c("3西部", "2中部", "1东部"))

4863709bca6fc40603ad3099655d538d.png

根据不同年份fill=年份分成两种颜色

ggplot(df, aes(x=地区, y=GDP, fill=年份)) +  geom_dotplot(binaxis='y', stackdir='center')

58ef819070075e5ffc24ef564730436b.png

通过设置position,把两年的GDP分开显示

p  geom_dotplot(binaxis='y', stackdir='center',                position=position_dodge(0.8))p

26324666703c47c2212af69df869cbe5.png

自定义颜色

p+scale_fill_manual(values=c("#999999", "#0CB63D"))

dfa3d7369a07db415fb4bcdcc1c55d03.png

添加箱线图

p+geom_boxplot(fill="white")+  geom_dotplot(binaxis='y', stackdir='center')

939bc37e9d85a73e2029e8ee1701f551.png

把两年数据分开显示,更直观

p+geom_boxplot(position=position_dodge(0.8))+  geom_dotplot(binaxis='y', stackdir='center',                position=position_dodge(0.8))

be1a514d14e639214dd1cfe84cb901d8.png

aff2ec028b7844c4147cda71cc566e2f.png

End

f7fd98cf4fd221440a839ea11fe2d93f.png

◆ R语言分词_jiebaR包 ◆ R语言_TreeMap ◆ R_脸谱图
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP