条形图可能是所有图形里面最基本的图形了,虽然很简单,在R里面有些地方不注意,还是会很容易出错。

geom_bar()的基本参数情况

geom_bar(mapping = NULL, data = NULL, stat = "bin", position = "stack", width = NULL,...... )


#mapping 数据映射,更改映射默认值时使用
#data 数据集,更改映射数据集时使用
#stat 统计变换,这个参数使用频率相对较高
#position 位置调整,用于调整图层中重叠的点
#width 用于调整条形的宽度

下面来看些具体的例子:

p<-ggplot(mtcars,aes(factor(cyl)))
p+geom_bar()

  

此时主要,这里我用factor 使得变量cyl以离散变量的形式呈现,正常情况下x轴显示的是连续的区间。

另外,stat默认值为bin的情况下,是对数据进行计数

p+geom_bar(width=0.5)+coord_flip()

使用coord_flip() 调整条形的方向

  

p+geom_bar(width=0.6,aes(fill=factor(cyl)))

对数据条进行颜色填充

  

p+geom_bar(width=0.5,stat="identity",aes(,mpg))

如果x只是作为分类变量使用,同时一个y值的情况下,需要对stat 参数进行更改,把stat的值改成identity

此时的条形图的长短表示各分类对y值求和

p+geom_bar(width=0.5,aes(fill=factor(vs)))

也可以使用fill参数  做成堆叠效果

 

p+geom_bar(width=0.5,position="dodge",aes(fill=factor(vs)))

默认情况下position参数为stack,为堆叠效果,我们把参数值改为dodge,可以增强对比效果

p+geom_freqpoly(stat="count",aes(colour=vs,group=vs))

 也可以把它做成线性频率图

p+geom_bar(width=0.5,aes(weight=vs))

以变量cyl为分类的情况下,vs各类的计数情况

以上图用的数据集mtcars,分类不是很多而且数据量比较少,换个数据量大并且分类相对较多的数据集,图的对比效果可能会更明显一些。

geom设置—条形图的更多相关文章

  1. ggplot2 geom设置—散点图

    散点图也是目前R中的常用的图形之一 geom_point(mapping = NULL, data = NULL, stat = "identity", position = &q ...

  2. geom设置—折线图

    折线图在R中也是很常见的一种图形,相对而言也比较简单. geom_line(mapping = NULL, data = NULL, stat = "identity", posi ...

  3. echarts - 条形图grid设置距离绘图区域的距离

    在一些数据量过大的情况下,在一个固定的区域绘图往往需要对图表绘制区域的大小进行动态改变.这时候设置条形图距离绘图区域上下左右的距离可使用如下方式:表示条形图的柱子距离绘图区左边30%,距离右边40%, ...

  4. R绘图 第七篇:绘制条形图(ggplot2)

    使用geom_bar()函数绘制条形图,条形图的高度通常表示两种情况之一:每组中的数据的个数,或数据框中列的值,高度表示的含义是由geom_bar()函数的参数stat决定的,stat在geom_ba ...

  5. 第三篇:R语言数据可视化之条形图

    条形图简介 数据可视化中,最常用的图非条形图莫属,它主要用来展示不同分类(横轴)下某个数值型变量(纵轴)的取值.其中有两点要重点注意: 1. 条形图横轴上的数据是离散而非连续的.比如想展示两商品的价格 ...

  6. ggplot2 theme相关设置—文本调整

    在geom设置和scale设置之后,要想把图画的漂亮,theme设置是比不可少的 在theme 设置中element_text()是一项很重要的内容 element_text(family = NUL ...

  7. CSS+HTML+JQuery实现条形图

    在工作中遇到了写条形图的情况,因为文字,条形数量和条形图的颜色需要改变,所以不能用图片,所以决定写一个试试,写的比较简单,但毕竟是第一次,也遇到了一些问题,特意记录下来,以免忘记. 因为该页面还需要兼 ...

  8. 15.纯 CSS 创作条形图,不用任何图表库

    原文代码:https://segmentfault.com/a/1190000014768534#articleHeader1 HTML代码: <html> <head> &l ...

  9. 如何用纯 CSS 创作条形图,不用任何图表库

    效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. 在线演示 https://codepen.io/zhang-ou/pen/XqzGLp 可交互视频教 ...

随机推荐

  1. js 技巧1

    1. 使用===取代==    ==和!=操作符会在需要的情况下自动转换数据类型.但===和!==不会,它们会同时比较值和数据类型,这也使得它们要比==和!=快. "){ //速度慢 } & ...

  2. [SOJ]寻找第k大数字(numberk)

    Description 经过长时间的筹备工作,在Jourk,Ronny,Plipala,阿长,阿沈等人的努力下,DM实验室建立起自己的系列网站,其中包括三个大板块:DMOJ首页.DMOJ论坛.DMOJ ...

  3. linux下如何查询jdk安装路径

    1:echo $JAVA_HOME 使用$JAVA_HOME的话能定位JDK的安装路径的前提是配置了环境变量$JAVA_HOME,否则如下所示,根本定位不到JDK的安装路径 [root@localho ...

  4. xml-DTD相关

    DTD约束既可以作为一个单独的文件,也可以在XML文件内编写. 在XML文件内编写DTD:

  5. Java 基础知识(一)

    Java基础知识篇: 一.关键字解释 1. final:修饰非抽象类,非抽象方法和属性, 以及修饰方法参数,代表“无法改变的”.出于对设计或者效率的考虑使用该关键字. final类无法被继承,fina ...

  6. 面试题-Java基础-面向对象

    1.面向对象软件开发的优点有哪些? 代码开发模块化,更易维护和修改.代码复用.增强代码的可靠性和灵活性.增加代码的可理解性.面向对象编程有很多重要的特性,比如:封装,继承,多态和抽象.下面的章节我们会 ...

  7. Linux学习初步

    centOS 6.5关闭防火墙步骤  关闭命令:  service iptables stop         永久关闭防火墙:chkconfig iptables off两个命令同时运行,运行完成后 ...

  8. CentOS 6.5 部署Unison双向同步服务

    环境介绍: 服务器 IP Server1 192.168.30.131 Server2 192.168.30.132       1.添加主机互信: a.添加host文件(在Server1.Serve ...

  9. Angular-ui-router + oclazyload + requirejs实现资源随route懒加载

    刚开始用angularjs做项目的时候,我用的是ng-router,觉得加载并不好.所以就用了ui-router,考虑到在app上网页加载速度太慢,所以我就想到了用懒加载,看下是否能提升性能,提高加载 ...

  10. SQL中游标的使用--遍历数据逐行更新或删除:相当于for循环

    --------------------------------------例子1 单纯的游标-------------------------------- create TABLE Table1 ...