R语言可视化及作图6--ggplot2之点图、条形图、盒形图、直方图、线图

Python022

R语言可视化及作图6--ggplot2之点图、条形图、盒形图、直方图、线图,第1张

R语言绘图系列:

标度控制着数据到图形属性的映射,标度将我们的数据转化为视觉上可以感知的东西,比如大小、位置、颜色、形状等。标度也为我们提供了读图时所使用的工具,比如说坐标轴和图例。总的来说,可以称为引导元素。标度函数控制元素的属性,可以理解为图形的遥控器,可以用它来调整画布大小、颜色等等。此前学的shape,color,size等参数和标度函数相比显得不够灵活。

scale_fill_brewer 调色板函数

geom_errorbar()

geom_crossbar()

geom_linerange() 绘制线段

geom_pointrange() 绘制点

pointrange:点画线

首先绘制一张盒形图

在图上显示出观测值

值得注意的是,图上点的多少并不能完全反应原始数据的多少,因为有的点可能因为点过于密集就会被覆盖,看起来是一个点,其实可能是多个点。

因此可以使用geom_jitter函数将不同的点区分开(jitter是震荡散点),width设置如果遇到相同的点,点向左右方平移的距离。alpha设置透明度。

黑色点是离群点

还可以绘制卡槽图

varwidth参数会根据该水平下观测值的个数(n值)改变盒形图的宽度。(这里宽度去的不是观测个数的绝对值,而是平方根,以缩小差距。)

给盒子上色

分组盒形图,用不同颜色区分

画水平的盒形图

使用coord_flip函数(坐标轴翻转函数)

绘制一张直方图

bins可以设置直方图条柱的数目,默认为30。当bins和binwidth(设置条柱宽度)同时设置时,默认以binwidth为准。

新加入变量cut,根据新变量在price水平上进行一个计数

y轴由count变为density,绘制概率密度

注意下面density的写法,前后都要加..

绘制概率密度曲线:geom_density函数

堆栈密度概率曲线

geom_line/geom_path/geom_step

绘制一个简单的线图

绘制点线图,点和线需要分别添加。

如上图,线在点之上,是因为先投射了点,又投射了线。

先投射线,点就出现在了线之上。

线的颜色出现了渐变

geom_smooth函数:绘制拟合曲线

methods还有其他的方法,如glm:广义线性模型;losses:纯粹平滑;gam:广义加性模型等等(lm和glm最常用)

geom_hline绘制水平线,geom_vline绘制垂直线。xintercept和yintercept是截距,slope是斜率。

散点图是将所有的数据以点的形式展现在直角坐标系上,以显示变量之间的相互影响程度,点的位置由变量的数值决定,每个点对应一个 X 和 Y 轴点坐标。散点图可以用R自带的plot()函数绘制,也可以用ggplot2包的geom_point()和 geom_dotplot()函数来绘制,当使用geom_dotplot()绘图时,point的形状是dot,不能改变点的形状,因此,geom_dotplot 叫做散点图(Scatter Plot),通过绘制点来呈现数据的分布,对点分箱的方法有两种:点密度(dot-density )和直方点(histodot)。当使用点密度分箱(bin)方式时,分箱的位置是由数据和binwidth决定的,会根据数据进行变化,但不会大于binwidth指定的宽度;当使用直方点分箱方式时,分箱有固定的位置和固定的宽度,就像由点构成的直方图(histogram)。

基本语法:

x 横坐标 x 轴的数据集合;

y 纵坐标 y 轴的数据集合;

type:绘图的类型,p 为点、l 为直线, o 同时绘制点和线,且线穿过点;

main:图表标题;

xlab、ylab x 轴和 y 轴的标签名称;

xlim、ylim x 轴和 y 轴的范围;

axes 布尔值,是否绘制两个 x 轴。

p:点图;

l:线图;

b:同时绘制点和线;

c:仅绘制参数 b 所示的线;

o:同时绘制点和线,且线穿过点;

h:绘制出点到横坐标轴的垂直线;

s:阶梯图,先横后纵;

S:阶梯图,先纵后竖;

n: 空图。

美化后的散点图

散点图矩阵是借助两变量散点图的作图方法,它可以看作是一个大的图形方阵,其每一个非主对角元素的位置上是对应行的变量与对应列的变量的散点图。而主对角元素位置上是各变量名,这样,借助散点图矩阵可以清晰地看到所研究多个变量两两之间的相关关系。散点图矩阵就是把数据集中的每个数值变量两两绘制散点图,这里我们用pairs()函数绘制。

把直方图放在对角线上

geom_point()函数用于创建散点图。散点图对于显示两个连续变量之间的关系最有用。它可以用于比较一个连续变量和一个类别变量,或者两个类别变量,但是像geom_jitter()、geom_count()或geom_bin2d()这样的变体通常更合适。气泡图是一个散点图,第三个变量映射到点的大小。

https://www.r-graph-gallery.com/

plot是R中的基本画图工具,直接plot(x),x为一个数据集,就能画出图。细节往往制胜的关键,所以就详细来看下plot的所有可设置参数及参数设置方法。

下面讲到的图形参数,是graphic包中的常见参数,graphic不同图形方法中,这些参数都是相同的。

“p”点图

“l”线图

“b”点线图,线不穿过点

“c”虚线图

“o”点线图,线穿过点

“h”直方图

“s”阶梯图

“S”步骤图

“n”无图

colors()方法可以查看R中所有可用的颜色名,一共有657种颜色名,根据颜色名可直接设置图形的显示颜色。下面是部分颜色,完整的图见链接: R语言颜色表

除了名称外,同样可以用下标,十六进制颜色值,RGB值和HSV值来指定颜色。例子:col=1、col="white"、col="#FFFFFF"、col=rgb(1,1,1)和col=hsv(0,0,1)。

另外,R中还有许多生成颜色变量的函数。有rainbow()、heat.colors()、terrain.colors()、topo.colors()、cm.colors()方法,gray()方法生成多阶灰度色。

plot是R中的基本画图工具,直接plot(x),x为一个数据集,就能画出图,soeasy!但是细节往往制胜的关键。所以就详细来看下plot的所有可设置参数及参数设置方法。

参考:

https://blog.csdn.net/cl1143015961/article/details/45538119

R语言做图plot参数