数据分析基础|R语言(图形初阶)

简介: 数据分析R语言绘图操作。

条形图

条形图用矩形条来表示数据,条的长度与变量的值成比例,在R语言中可以使用函数barplot()来创建条形图,可以在条形图中绘制垂直和水平条,并且每个条形都可以设置成不同的颜色。

R语言中创建条形图的基本语法是:

barplot(H,xlab,ylab,main,names.arg,col)

image.gif

barplot中的参数描述如下:

    • H表示我们用到的数据,可以是一个向量或者是一个矩阵(数值型)。
    • xlab,ylab分别表示x,y轴的标签。
    • main表示的是条形图的标题。
    • names.arg表示的是每个条下的名称的向量。
    • col用来提供每个条需要的颜色。

    barplot示例如下(legend函数用来生成图例):

    >colors<-c("blue","pink","yellow")
    >country<-c("china","japan","USA","UK","korea")
    >country<-c("China","Japan","USA","UK","Korea")
    >regions<-c("East","West","North")
    >value<-matrix(c(2,3,4,7,3,12,9,9,6,5,10,5,8,7,9),nrow=3,ncol=5,byrow=TRUE)
    >barplot(value,xlab="country",ylab="regions",names.arg=country,col=colors)
    >legend("topright",regions,cex=1,fill=colors)

    image.gif

    结果如下:

    image.png

    箱线图

    箱形图(Box-plot)又称为盒须图、盒式图或箱线图,是一种用作显示一组数据分散情况资料的统计图,箱线图是数据集中的数据分布良好的度量,它将数据集分成三个四分位数。 此图表表示数据集中的最小值,最大值,中值,第一四分位数和第三四分位数。 它还可用于通过绘制每个数据集的箱线图来比较数据集之间的数据分布。

    R语言中创建箱线图的基本语法是:

    boxplot(formula, x, data, notch, varwidth, widthrangenames, maincol)

    image.gif

    boxplot中的参数描述如下:

      • formula是一种类似于y~grp的公式,其中y是要画的变量,grp是要描述分组的变量。
      • x是向量,设置用于画图的值。
      • data是一个数据框或者列表,其中定义了formula所使用的的变量。
      • notch是一个bool类型的逻辑值,若为TRUE则会在箱子上绘制一个缺口。
      • varwidth也是一个逻辑值,若为TRUE则会按照比例去取绘制箱子的宽度,若为FALSE则所有的箱子是同样的宽度。
      • width是定义箱子宽度的一个数值。
      • range用于定义从箱子延伸出来的胡须的最大长度。
      • names将要打印的每一个箱线图的标签。
      • main箱线图的标题。
      • col箱线图的背景色。

      boxplot()函数的示例如下(以R语言中自带的mtcars数据集为例):

      boxplot(mpg~cyl, data=mtcars,
      xlab="Number of Cylinders", ylab="Miles Per Gallon", 
      main="Mileage Data",notch=TRUE, 
      varweight=TRUE, col=c("pink","green","red"), 
      names=c("High","Medium","Low"))

      image.gif

      结果如下:

      image.png

      直方图

      直方图是一种很常见的图形,其形状看似类似于第一节中讲到的条形图,其本质区别在于直方图讲数据值分组为连续的范围,直方图中的每个柱的高度表示取值范围内的数值的个数。

      R语言中创建直方图的基本语法是:

      hist(v,main,xlab,xlim,ylim,breaks,col,border)

      image.gif

      hist中的参数描述如下:

        • v是我们要使用的向量(数值型)
        • main表示图表的标题。
        • xlab给出x轴的描述。
        • xlim,ylim用于给出x,y轴上的数值范围。
        • breaks用于表示每个条的宽度。
        • col表示颜色。
        • border用于设置每个矩形的边框颜色。

        hist()函数的使用方法如下:

        hist(v,xlab="count",xlim=c(0,30),ylim=c(0,5),breaks=5,col=c("blue","pink","brown","green","red"),border="black")

        image.gif

        结果如下:

        image.png

        折线图

        折线图是通过一些线段去把很多散点连接起来的图形,通常用于表示某个数据发展的趋势。

        在R语言中创建折线图的基本语法是:

        plot(v,type,col,xlab,ylabpchcex, lty, lwd)

        image.gif

        plot中的参数描述如下:

          • v依旧是我们要是用的向量(数值型)
          • type采用值"p"仅绘制点,"l"仅绘制线,"o"绘制点和线。
          • pch用于制定绘制点时使用的符号
          • cex用于表示符号的大小,默认为1,其他数字按比例缩放。
          • lty用于制定线条的类型
          • lwd用于制定线条的宽度,默认值为1。

          绘制折线图的plot()函数的如下:

          >v<-c(4,7,13,5,16)
          >plot(v,xlab="year", ylab="num", type="o", col="blue", pch=18, lty=4)

          image.gif

          结果如下:

          image.png

          上述代码中我们只画了一条折现,R语言中提供了lines()函数可以在同一张表上绘制多条直线。

          在上述代码后继续添加如下代码:

          >t=c(4,5,11,8,14)
          >lines(t, type="o", col="green")

          image.gif

          得到结果:

          image.png

          散点图

          散点图实在一个平面上绘制坐标点得到的图形,绘制该图形时我们要得到数据中每个点对应的坐标。

          在R语言中绘制散点图的基本语法是:

          plot(x, y, main, xlab, ylab, xlim, ylim, axes)

          image.gif

          我们可以看到绘制散点图的函数和绘制折线图的函数名称是一样的,这是因为折线图是基于多个点而建成的,所以可以说绘制直线图需要建立在散点图之上。

          plot的参数补充如下:

            • xlim是用于绘图的x的值的极限。
            • ylim是用于绘图的y的值的极限。
            • axes指示是否应在绘图上绘制两个轴。

            plot绘制散点图的示例如下(这里我们采用R语言再带的mtcars数据集):

            >input<-mtcars[,c("wt","mpg")]
            >plot(x=input$wt,y=input$mpg,
            +xlab="Weight",
            +ylab="Milage",
            +xlim=c(2.5,5),
            +ylim=c(15,30),    
            +main="Weight vs Milage"+ )

            image.gif

            结果如下:

            image.png

            散点图矩阵

            有两个以上的变量的时候,我们想找到一个变量和其余变量之间的相关性,此时使用散点图矩阵。

            R语言中创建散点图矩阵的语法如下:

            pairs(formula, data)

            image.gif

            pairs()函数的参数描述如下:

              • formula表示成对使用的一系列变量。
              • data表示将从其获取变量的数据集

              pairs绘制散点图矩阵的示例如下:

              pairs(~wt+mpg+disp+cyl,data=mtcars,
              main="Scatterplot Matrix")

              image.gif

              结果如下:

              image.png

              饼状图

              饼图是将值表示为具有不同颜色的圆的切片,能够更直观的展示数据的分布情况。

              R语言中创建饼状图的语法如下:

              pie(x, labels, radius, main, col, clockwise)

              image.gif

              pie()函数参数的描述如下:

                • x是包含饼图中使用的数值的向量。
                • labels用于给出切片的描述。
                • radius表示饼图圆的半径(值-1和+1之间)。
                • main表示图表的标题。
                • col表示调色板。
                • clockwise是指示片段是顺时针还是逆时针绘制的逻辑值。

                pie绘制饼状图的示例如下:

                >x<-c(33,44,12,20)
                >labels<-c("beijing", "shanghai", "guangzhou", "shenzhen")
                >pie(x, labels=labels, main="Pie City", col=rainbow(length(x)))

                image.gif

                结果如下:

                image.png

                3D饼状图

                为了更好的展示数据分布的情况,R语言在饼图的基础上也提供了3D饼图的绘制方法。绘制3D饼图,我们需要加载plotrix工具包中的pie3D()函数。

                pie3D()函数的示例如下:

                >install.packages("plotrix")
                >library(plotrix)
                >x<-c(22,42,12,30)
                >labels<-c("beijing","shanghai","guangzhou","shenzhen")
                >pie3D(x,labels=labels,main="pie3D example", explode=0.1)

                image.gif

                结果如下:

                image.png

                以上就是对R语言中几种基础的图形的介绍,高阶图形会在后面的文章中单独讲解。

                相关文章
                |
                2月前
                |
                数据可视化 数据挖掘
                R语言生存分析数据分析可视化案例(下)
                R语言生存分析数据分析可视化案例
                |
                2月前
                |
                监控 安全 数据可视化
                R语言在员工上网行为监控中的数据分析
                本文讲述了如何使用R语言分析员工上网行为以提升企业网络安全。通过收集网络流量和访问记录数据,利用R进行读取、分析和可视化,例如查看访问时长分布和热门网站。此外,文中还介绍了一个自动将监控数据提交到网站的R脚本,通过定时任务实现数据的持续更新和管理,及时发现并应对安全风险,增强网络安全性。
                116 3
                |
                2月前
                |
                数据可视化 前端开发 数据挖掘
                R语言对综合社会调查GSS数据进行自举法bootstrap统计推断、假设检验、探索性数据分析可视化|数据分享(上)
                R语言对综合社会调查GSS数据进行自举法bootstrap统计推断、假设检验、探索性数据分析可视化|数据分享
                |
                2月前
                |
                机器学习/深度学习 数据挖掘 计算机视觉
                R语言中的神经网络预测时间序列:多层感知器(MLP)和极限学习机(ELM)数据分析报告
                R语言中的神经网络预测时间序列:多层感知器(MLP)和极限学习机(ELM)数据分析报告
                |
                2月前
                |
                数据可视化
                R语言大学城咖啡店消费问卷调查数据报告:信度分析、主成分分析可视化
                R语言大学城咖啡店消费问卷调查数据报告:信度分析、主成分分析可视化
                |
                2月前
                |
                机器学习/深度学习 数据采集 数据可视化
                R语言电影数据分析:随机森林探索电影受欢迎程度因素、参数调优可视化
                R语言电影数据分析:随机森林探索电影受欢迎程度因素、参数调优可视化
                |
                2月前
                |
                机器学习/深度学习 资源调度 数据挖掘
                R语言用贝叶斯层次模型进行空间数据分析
                R语言用贝叶斯层次模型进行空间数据分析
                |
                2月前
                |
                数据可视化 数据挖掘 关系型数据库
                R语言中的地理空间数据分析
                【4月更文挑战第26天】R语言在地理空间数据分析中发挥着关键作用,拥有如&quot;sp&quot;、&quot;sf&quot;和&quot;rgdal&quot;等扩展包。
                |
                2月前
                R语言图形的组合( par(),layout(),par(fig()) )
                R语言图形的组合( par(),layout(),par(fig()) )
                14 0
                |
                2月前
                |
                机器学习/深度学习 数据可视化 数据挖掘
                R语言用逻辑回归预测BRFSS中风数据、方差分析anova、ROC曲线AUC、可视化探索
                R语言用逻辑回归预测BRFSS中风数据、方差分析anova、ROC曲线AUC、可视化探索

                热门文章

                最新文章