条形图可能是所有图形里面最基本的图形了,虽然很简单,在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. Java学习笔记-File

    //文件操作 //2015年4月30日15:40:21 package com.alfredsun.first.main; import java.io.File; import java.io.IO ...

  2. 信息设计工具IDT创建从SAP Business Object到SAP HANA的连接

    1. 打开Information Design Tool, 并添加BO Server的连接 2. 在Connection上右击, 选择Insert Relational Connection 3. 输 ...

  3. Zabbix 中文使用手册

    一.Zabbix简介 详情参考"企业监控利器-zabbix"http://waringid.blog.51cto.com/65148/904201. 二.Zabbix使用 2.1 ...

  4. <poj - 2139> Six Degrees of Cowvin Bacon 最短路径问题 the cow have been making movies

    本题链接:http://poj.org/problem?id=2139 Description:     The cows have been making movies lately, so the ...

  5. js中访问action

    jsp中 <a href="javascript:Excel();" class="easyui-linkbutton" plain="true ...

  6. DHCP源码分析--主流程

    DHCP 服务器,客户端代码都采用了统一的事件轮询(event loop),包含了任务处理消息,定时器消息,socke收发消息等等. static struct { isc_appmethods_t ...

  7. Android中Activity全局共享方法AppContext

    在 android 的所有 activity 中共享同一个对象实例的方法 1. 新建 AppContext.java 文件(名称可自定义) public class AppContext extend ...

  8. JUnit——(一)使用IDEA进行基本操作

    JUnit是一个回归测试框架(regression testing framework).Junit测试是程序员测试,即所谓白盒测试,因为程序员知道被测试的软件如何(How)完成功能和完成什么样(Wh ...

  9. vultr优惠码ssd vps赠送50美金,长期有效

    vultr最新优惠码.vultr vps注册教程,是大家关心的问题.网上流传很多vultr vps优惠码,鱼龙混杂,难以判断.其实,获取vultr优惠赠送美元的方式很简单. 第一种,新用户使用绑定信用 ...

  10. centos7 搭建elk

    CentOS 7.x安装ELK(Elasticsearch+Logstash+Kibana)  云计算 Aug 162015 第一次听到ELK,是新浪的@ARGV 介绍内部使用ELK的情况和场景,当时 ...