R语言中ggplot2包作数据分布情况下的统计图实例学习(二)

您所在的位置:网站首页 数据集的分布 R语言中ggplot2包作数据分布情况下的统计图实例学习(二)

R语言中ggplot2包作数据分布情况下的统计图实例学习(二)

2023-03-12 02:30| 来源: 网络整理| 查看: 265

R语言中ggplot2包作数据分布情况下的统计图实例学习(二) 3.直方图问题:创建一个数据集的直方图。

直接创建,借助mtcars数据集,用hist()函数创建:

hist(mtcars$mpg)#指定数据集中的mpg列hist(mtcars$mpg, breaks = 10)基本直方图

借助ggplot2该geom_histogram()功能,构建直方图相对简单。输入中仅需要一个数字变量。请注意,此代码触发了警告消息:我们需要注意下一节中说明的箱宽度。

library(ggplot2)ggplot(mtcars, aes(x = mpg)) + geom_histogram()运行时显示:`stat_bin()` using `bins = 30`. Pick better value with `binwidth`.# 更宽的直方图ggplot(mtcars, aes(x = mpg)) + geom_histogram(binwidth = 4)

当您创建直方图而未指定条形宽度时,会ggplot()打印一条消息,告知您默认为30个直方图,并选择一个更好的垃圾箱宽度。这是因为使用不同的bin宽度浏览数据很重要;默认值30可能会或可能不会显示一些有用的数据。

ggplot2的镜像直方图library(ggplot2)library(hrbrthemes)#数据准备data 同一轴上的多个直方图library(ggplot2)library(dplyr)library(hrbrthemes)#构建数据data library(tidyverse)library(hrbrthemes)library(viridis)library(forcats)#加载数据data % mutate(text = gsub("\\.", " ",text)) %>% mutate(value = round(as.numeric(value),0))# 绘制图形p % mutate(text = fct_reorder(text, value)) %>% ggplot( aes(x=value, color=text, fill=text)) + geom_histogram(alpha=0.6, binwidth = 5) + scale_fill_viridis(discrete=TRUE) + scale_color_viridis(discrete=TRUE) + theme_ipsum() + theme( legend.position="none", panel.spacing = unit(0.1, "lines"), strip.text.x = element_text(size = 8) ) + xlab("") + ylab("Assigned Probability (%)") + facet_wrap(~text)ggplot2和ggExtra的边际分布

安装ggExtra包,使用install.packages("ggExtra")进行安装,在我们已经做好的图的基础上,在其边上加上直方图或者其他形状的图:

# 加载包library(ggplot2)library(ggExtra)# 查看数据集head(mtcars)# 绘制气泡图 p p

如下示例演示如何为直方图的各个部分着色。首先,hist必须在不使用plot=F选项绘制结果的情况下调用该函数。它允许将每个垃圾箱的位置存储在一个对象中(my_hist此处)。

这些框边框现在在$breaks对象的插槽中可用,这允许使用ifelse语句构建颜色向量。最后,此颜色矢量可用于plot()中。

#创建数据my_variable=rnorm(2000, 0 , 10) #计算直方图,但不要绘制my_hist=hist(my_variable , breaks=40 , plot=F);my_hist #颜色向量my_color= ifelse(my_hist$breaks =10, "purple", rgb(0.2,0.2,0.2,0.2) ));my_color #最终绘制plot(my_hist, col=my_color , border=F , main="" , xlab="value of the variable", xlim=c(-40,40) )4、箱线图

plot()函数绘制

用plot()将数据集ToothGrowthx因子并将其传递给y值向量。当x是一个因子(相对于数字向量)时,它将自动创建箱形图:

#绘制数据集ToothGrowth的箱线图plot(ToothGrowth$supp, ToothGrowth$len)

如果两个向量在同一数据帧中,则还可以将boxplot()函数与公式语法一起使用。使用这种语法,您可以在x轴上组合两个变量:

boxplot(len ~ supp, data = ToothGrowth)#将两个变量的相互作用放在x轴上boxplot(len ~ supp + dose, data = ToothGrowth)

使用ggplot2软件包制作

运用geom_boxplot()函数绘制:

library(ggplot2)ggplot(ToothGrowth, aes(x = supp, y = len)) + geom_boxplot()

通过将变量与组合,可以为多个变量绘制箱形图interaction()函数绘制:

ggplot(ToothGrowth, aes(x = interaction(supp, dose), y = len)) + geom_boxplot()

Boxplot的构建得益于的geom_boxplot()几何ggplot2。请在下面的第一个示例中查看其基本用法。请注意,对组进行重新排序是获得更具洞察力的人物的重要步骤。同样,显示带有抖动的单个数据点也是避免隐​​藏基础分布的好方法。

随机产生数字,作箱线图,geom_jitter()size此函数将所有点按从 0 到 的随机值移动,以避免重叠。:

library(tidyverse)library(hrbrthemes)library(viridis)#创建一个数据集data % ggplot( aes(x=name, y=value, fill=name)) + geom_boxplot() + scale_fill_viridis(discrete = TRUE, alpha=0.6) + geom_jitter(color="black", size=0.4, alpha=0.9) + theme_ipsum() + theme( legend.position="none", plot.title = element_text(size=11) ) + ggtitle("带有抖动的箱线图") + xlab("")data library(ggplot2)data

为了突出显示极端观测值,我们可以使用以下方法修改异常值的外观:

颜色形状大小阿 尔 法

若要修改异常值的颜色,请使用 参数。可以使用颜色名称或关联的十六进制代码指定颜色。outlier.color :

library(ggplot2)data

可以使用参数修改异常值的大小。它可以接受大于 的任何值。outlier.size():

library(ggplot2)data

可以使用参数修改框的背景颜色。可以使用颜色名称或关联的十六进制代码指定颜色。fill() :

library(ggplot2)data

若要修改背景颜色的透明度,请使用 alpha参数。

library(ggplot2)data

可以使用参数修改边框的颜色。可以使用颜色名称或关联的十六进制代码指定颜色。color() :

library(ggplot2)data

可以使用参数更改边框的宽度。它可以接受大于0的任何值。size():

library(ggplot2)data

若要更改边框的行类型,请使用linetype参数。它可以在 0和 24之间使用任何值。linetype:

library(ggplot2)data

我们还可以映射变量,而不是指定值。在下面的示例中,我们映射到可变库存,fill,color:

library(ggplot2)data

让我们映射到可变库存。它将为框边框分配不同的颜色。color:

library(ggplot2)data

参考书籍:《ggplot2: Elegant Graphics for Data Analysis》、《R Graphics Cookbook, 2nd edition》、《R Cookbook,第二版》

参考网站:

有的电脑可能打不开,建议用谷歌浏览器。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3