ggplot2 练习杂记二 EXCEL 分组堆积条形图

Excel中图表如下:

今天折腾了大半天,在ggplot2中,要不是堆积图要么就是非堆积的,没法像Excel中做到分组堆积(也许有办法,但我目前还不知道该如何实现-_-!)

只能是在R中做了个类似的,但问题很多。。。

R中图形如下:

因为是模拟出来的,还没法对A,B,C,D进行调整间隔,如果不看对应的Y轴标签无法很清淅的从图表上看出谁和谁是一组的

R中代码如下:

channel <- read.xlsx("c:/myR/channel.xlsx",sheetName="Sheet2",encoding="UTF-8")

ggplot(channel, aes(x = as.numeric(interaction(Left,Name)), y = Amount, fill =Type,group=Name)) #把x轴的显示的内容处理下分组序号
 +   geom_bar(stat = "identity")
 +  scale_x_continuous(breaks=c(1.5,3.5,5.5,7.5),labels=c("A","B","C","D"))#主要靠这里来定制X轴的显示内容,
+theme( panel.grid.major=element_blank(),panel.grid.minor=element_blank())
+coord_flip() #翻转如果不加这句则图像为柱状图
 

数据如下:

Name Type  Amount  Left
A 期初库存                            842 L
A 采购                       96,907 L
A 期末库存                         3,250 R
A 销售                       94,541 R
B 期初库存                            493 L
B 采购                       58,210 L
B 期末库存                            381 R
B 销售                       58,321 R
C 期初库存                         1,215 L
C 采购                       56,999 L
C 期末库存                         3,373 R
C 销售                       54,540 R
D 期初库存                         1,293 L
D 采购                       56,699 L
D 期末库存                         6,206 R
D 销售                       51,785 R

结果并不如意,或许还有好办法,再研究研究。。。。

时间: 2024-11-08 23:45:33

ggplot2 练习杂记二 EXCEL 分组堆积条形图的相关文章

ggplot2 练习杂记三 EXCEL 柱状图

R代码 ggplot(channel2,aes(x=factor(Name),,fill=Type)) +geom_bar(aes(y=Amount,fill=factor(Type)),stat="identity" ,width=0.3)+geom_bar(aes(y=Amount2,fill=factor(Type)),stat="identity" ,width=.2 ) #主要就是靠 width 的数字来控制的 数据: Name Type  Amount 

(十二)分组查询

(十二)分组查询 将数据表中的数据按某种条件分成组,按组显示统计信息 查询各班学生的最大年龄.最小年龄.平均年龄和人数 分组 SELECT <字段名表1> FROM <表名> -- 这里字段名表1 应该 是 按照字段名表2 分组以后 能够产生唯一值的 字段(如:班级) [WHERE <条件> ] GROUP BY <字段名表2> [HAVING <条件> ] [ORDER BY <字段名列表3> ] --例1 查询各班学生的最大年龄.

EXCEL基础内容学习笔记(二)Excel文档的基本组成与功能介绍

一.基本组成 (一)工作簿.工作表与单元格 (1)工作簿:一个Excel文档即为一个工作簿. (2)工作表:工作簿中的每个表. (3)单元格:打开Excel文档,在工作表中单击,出现的加粗四边形即为单元格.单元格由行和列组成,命名时由行和列说明,称为单元格名称或地址. 一个工作簿中有若干个工作表,每个工作表有许多单元格组成. 二.功能介绍 (1)标题栏:Excel文档最上端. (2)选项卡 (3)工作区:每一个打开的选项卡都含有若干工作区. (4)名称框:所选择的单元格的名字. (5)编辑栏:可

Excel分组快速自动填充编号

在Excel自动填充很简单,但如果按分组等条件进行填充就有点麻烦了 说麻烦可能是你并没有搞清楚到底如何才能实现你的需求 下图是客户提供的Excel数据,我需要将下面的数据导入到数据库中,因为客户在做的时候相同的二级分类省略了 所以我在导入到数据库之前需要把缺少的二级分类进行自动填充 实现前效果 实现后的效果 思路: 创建新列,用于填充 设计公式(核心) 自动填充并完成 公式说明: 新列的公式为:=IF(B2>0,B2,C1) B为旧列,C为新列,C的公式必须在第2行以后,因为如果是第1行,则新列

php分享十二:分组取前N记录

经常看到问题,如何取出每组的前N条记录 http://blog.csdn.net/acmain_chm/article/details/4126306 问题:有表 如下,要求取出各班前两名(允许并列第二) Table1 +----+------+------+-----+ | id |SName |ClsNo |Score| +----+------+------+-----+ |  1 |AAAA  |  C1  | 67  | |  2 |BBBB  |  C1  | 55  | |  3

python可视化---堆积条形图

import matplotlib.pyplot as plt import matplotlib as mpl mpl.rcParams["font.sans-serif"] = ["SimHei"] mpl.rcParams["axes.unicode_minus"] = False x = [1, 2, 3, 4, 5] y = [6, 10, 4, 5, 1] y1 = [2, 6, 3, 8, 5] plt.barh(x, y, ali

MapReduce处理二次排序(分区-排序-分组)

MapReduce二次排序原理 在map阶段,使用job.setInputFormatClass定义的InputFormat将输入的数据集分割成小数据块splites,同时InputFormat提供一个RecordReader的实现. 本例子中使用的时TextInputFormat,他提供的RecordReader会将文本的字节偏移量作为key,这一行的文本作为value. 这就是自定义Map的输入是<LongWritable,Text>的原因,然后调用自定义的Map的map方法,将一个个&l

如何在excel中生成时间进度表——甘特图

最近学习软件工程需要做一个工程进度图.小小问题尽挡我数时,不服,终克之,辟一生路.在这与众友分享之. 具体步骤如下: 1.首先我们在excel中建一含有时间段的数据表. 2.选中包含时间段的属性列以及纵坐标属性列,如: 3.从菜单栏中选中插入-->条形图-->二维条形图-->堆积条形图,如 4.将生产的图表转换成图二形式.通过在图表区单击右键选择选择数据进入图二中选择数据源窗口,然后单击切换行/列得到图二所示.同时,将选择数据源中相应的行列属性名改为excel表中所示以确保同属性名(有利

R语言:ggplot2精细化绘图——以实用商业化图表绘图为例

本文旨在介绍R语言中ggplot2包的一些精细化操作,主要适用于对R画图有一定了解,需要更精细化作图的人,尤其是那些刚从excel转ggplot2的各位,有比较频繁的作图需求的人.不讨论那些样式非常酷炫的图表,以实用的商业化图表为主.包括以下结构: 1.画图前的准备:自定义ggplot2格式刷 2.画图前的准备:数据塑形利器dplyr / tidyr介绍 3.常用的商业用图: 1)简单柱形图+文本(单一变量) 2)分面柱形图(facet_wrap/facet_grid) 3)簇型柱形图(posi