条形图可能是所有图形里面最基本的图形了,虽然很简单,在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. codevs1993草地排水(最大流)

    最近学了最大流,于是去codevs找了几道最大流裸题(这是我第一次写网络流). 题目大意:求一个图的最大流(就是这样的裸题) 第一次A网络流的题,发个博客纪念一下. var n,m,i,j,k,h,t ...

  2. 解决了IE8不支持数组的indexOf方法

    ie在过去给我们添了很多坑. if (!Array.prototype.indexOf) { Array.prototype.indexOf = function(elt /*, from*/ ) { ...

  3. DrawingCombiner——CAD图纸批量合并软件

    DrawingCombiner是一款CAD图纸批量合并软件,可以批量合并多个dwg或dxf文件为单个dwg文件,并可以设置合并后的排列方式. 此程序附属MagicTable(可到依云官网下载:http ...

  4. qsort()函数(C)

    qsort包含在<stdlib.h>头文件中,此函数根据你给的比较条件进行快速排序,通过指针移动实现排序.排序之后的结果仍然放在原数组中.使用qsort函数必须自己写一个比较函数. 函数原 ...

  5. SAP HANA 中的决策表(Decision Table)

    http://scn.sap.com/community/developer-center/hana/blog/2013/01/11/what-can-you-do-with-decision-tab ...

  6. 转:NSString什么时候用copy,什么时候用strong

    大部分的时候NSString的属性都是copy,那copy与strong的情况下到底有什么区别呢? 比如: @property (retain,nonatomic) NSString *rStr; @ ...

  7. jmeter命令行运行-分布式测试

    上一篇文章我们说到了jmeter命令行运行但是是单节点下的, jmeter底层用java开发,耗内存.cpu,如果项目要求大并发去压测服务端的话,jmeter单节点难以完成大并发的请求,这时就需要对j ...

  8. HTC与英特尔联手打造无线VR解决方案

    除了TPCAST无线附件组件之外,HTC早前还宣布了与英特尔合作研发WiGig无线VR解决方案,他们还愿意寻找更多的合作伙伴以带来进一步的解决方案. HTC希望确保其Vive头显可以实现无线升级,让用 ...

  9. HUD 1171 Big Event in HDU(01背包)

    Big Event in HDU Problem Description Nowadays, we all know that Computer College is the biggest depa ...

  10. LeetCode 385. Mini Parse

    Given a nested list of integers represented as a string, implement a parser to deserialize it. Each ...