我已经搜索了关于此主题的其他帖子,但无法找出我的问题。我有关于巴西政府机构的预算数据,并对机构类型进行了分类。为了制造我的情节,我这样做:ggplot2带文字标签facet_wrap
g <- ggplot(data=totalex.df, aes(x=year, y=totalex.billions))
g +
geom_line(aes(colour=factor(agency.type))) +
facet_wrap(agency.type ~ unit, ncol=6) +
opts(strip.text.x = theme_text(size=2)) +
opts(axis.text.x=theme_text(size=4)) +
opts(legend.position="none") +
scale_y_sqrt("total expenditure (billions)")
我的问题是,我的小标签现在包含两条信息:机构类型,与上面的代码产生的unit-- this is a pdf of the graph的名称。我只希望它包含单位的名称。但是,如果我从facet_wrap命令中删除agency.type,则ggplot会丢失代理的顺序。
的dput(totalex.df)
输出是很长,但在这里它是第100个观测
> dput(totalex.df.short)
structure(list(year = c(2006, 2006, 2006, 2006, 2006, 2006, 2006,
2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006,
2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006,
2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006,
2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006,
2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006,
2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2007, 2007,
2007, 2007, 2007, 2007, 2007, 2007, 2007, 2007, 2007, 2007, 2007,
2007, 2007, 2007, 2007, 2007, 2007, 2007, 2007, 2007, 2007, 2007,
2007, 2007, 2007, 2007, 2007), totalex = c(312685301, 46492724,
85210069, 1478565787, 193941282, 260659307, 8327549603, 0, 18474604,
91006939, 53538760, 91800981, 402711174, 1290377603, 978348209,
48360776, 24676283, 89820385, 1038592122, 5364674136, 127383506,
7552311, 3847705355, 232732854, 34317692, 351714802, 156996087,
104782402, 0, 47741444, 475303761, 229743044, 102577783, 19106706,
78619935, 0, 730381485, 998733938, 110785185, 37114540, 108530853,
0, 0, 0, 2660417864, 169144966, 104350391, 1038914804, 336660855,
11995616, 0, 0, 9085111, 0, 5281402, 138708048, 11283655, 478421026,
221976619, 95680527, 8270558, 890375094, 0, 156563720, 198830207,
286909569, 5525428151, 734738984, 218905808, 1120014693, 859180,
359873525, 50214197, 95572929, 1628550454, 227051722, 286610734,
8868199792, 17388668, 19551190, 101047436, 58123546, 101878908,
423760647, 1019623567, 1061465081, 49559379, 24278026, 110344326,
1145862548, 7610896352, 163919333, 8376104, 4355447941, 282679957,
45506963, 392551882, 208594544, 122420822, 0), agency.type = structure(c(NA,
NA, NA, 3L, 1L, 1L, 7L, 1L, 1L, 1L, 1L, 1L, 4L, 1L, 1L, 1L, 1L,
3L, 1L, 6L, 1L, 1L, 7L, 1L, 3L, 3L, 1L, 3L, 1L, 1L, 1L, 3L, 3L,
1L, 3L, 1L, 1L, 1L, 3L, 3L, 3L, 1L, 5L, 3L, 1L, 5L, 3L, 1L, 1L,
1L, 1L, 3L, 3L, 3L, 1L, 1L, 1L, 1L, 3L, 1L, 1L, 4L, 1L, 1L, 2L,
1L, 1L, 3L, 1L, 1L, 3L, NA, NA, NA, 3L, 1L, 1L, 7L, 1L, 1L, 1L,
1L, 1L, 4L, 1L, 1L, 1L, 1L, 3L, 1L, 6L, 1L, 1L, 7L, 1L, 3L, 3L,
1L, 3L, 1L), .Label = c("Delivery", "Guidance for policy formulation/Research",
"Regulatory", "Regulatory/Delivery", "Regulatory/Delivery",
"Transfer/delivery", "Transfer/Regulatory/Deliver"), class = "factor"),
unit = structure(c(29L, 28L, 27L, 17L, 21L, 66L, 55L, 5L,
69L, 25L, 33L, 36L, 44L, 45L, 9L, 34L, 68L, 13L, 6L, 61L,
53L, 65L, 51L, 31L, 41L, 39L, 37L, 49L, 22L, 58L, 47L, 71L,
40L, 60L, 19L, 18L, 64L, 10L, 62L, 59L, 42L, 7L, 11L, 4L,
52L, 32L, 38L, 8L, 54L, 20L, 12L, 24L, 1L, 63L, 3L, 16L,
57L, 70L, 43L, 15L, 2L, 46L, 30L, 35L, 56L, 23L, 48L, 26L,
14L, 50L, 67L, 29L, 28L, 27L, 17L, 21L, 66L, 55L, 5L, 69L,
25L, 33L, 36L, 44L, 45L, 9L, 34L, 68L, 13L, 6L, 61L, 53L,
65L, 51L, 31L, 41L, 39L, 37L, 49L, 22L), .Label = c("Administrative Council of Economic Defense (CADE) ",
"Air Force Real Estate Funding Agency (CFIAE) ",
"Alexandre Gusmao Foundation (FUNAG) ",
"Amazon Development Superintendency (SUDAM) ",
"Applied Economic Research Institute (IPEA) ",
"Brazilian Agricultural Research Corporation (EMBRAPA) ",
"Brazilian Communication Company (EBC) ",
"Brazilian Company of Urban Railway (CBTU) ",
"Brazilian Institute of Environment and Renewable Natural Resources (IBAMA) ",
"Brazilian Institute of Geography and Statistics (IBGE) ",
"Brazilian Institute of Museums (IBRAM) ",
"Brazilian Military Material Industry (IMBEL) ",
"Brazilian Securities Comission (CVM) ",
"Brazilian Space Agency (AEB) ",
"Brazilian Tourism Company (EMBRATUR) ",
"Brazilian Urban Railway (TRENSUBR) ",
"Central Bank (BACEN) ",
"Chico Mendes Institute (ICMBio) ",
"Civil Aviation National Agency (ANAC) ",
"Cultural Foundation Palmares ",
"Dom Pedro II School ",
"Energy Research Company (EPE) ",
"Engineering, Construction and Railway (VALEC) ",
"Excellence center in advanced electronic technology (CEITEC) ",
"Federal Centre of Educational Technology Celso Suckow da Fonseca (CEFET-RJ) ",
"Graduate students improvement coordination (CAPES) ",
"Hospital Cristo Redentor S.A. ",
"Hospital F\x90mina S.A ",
"Hospital Nossa Senhora da Concei\x8d\x8bo S.A ",
"Housing Building Fund for Mariners (CCCPMC) ",
"Indigenous National Foundation (FUNAI) ",
"Institute of the Historical and Artistic National Heritage (IPHAN) ",
"Joaquim Nabuco Foundation ",
"Jorge Duprat Figueiredo Foundation (FUNDACENTRO) ",
"Manaus Free Trade Zone Superintendency (SUFRAMA) ",
"Minas Gerais Federal Centre of Educational Technology (CEFET-MG) ",
"Mineral Resources Research Institute (CPRM) ",
"National Agency of Land Transport (ANTT) ",
"National Agency of Sanitary Supervision (ANVISA) ",
"National Agency of Supplementary Health (ANS) ",
"National Agency of Water Transport (ANTAQ) ",
"National Agency of Electrical Energy (ANEEL) ",
"National Agency of Oil, Natural Gas and Biofuel (ANP) ",
"National Commission of Nuclear Energy (CNEN) ",
"National Company of Food Supply (CONAB) ",
"National Council of Scientific and Technological Development (CNPq) ",
"National Department of Draught Prevention (DNOCS) ",
"National Department of Infrasctructure Transport (DNIT) ",
"National Department of Mineral Production (DNPM) ",
"National Development Trust (FND) ",
"National Health Foundation (FUNASA) ",
"National Institute of Colonization and Land Reform (INCRA) ",
"National Institute of Industrial Property (INPI) ",
"National Institute of Metrology, Normalization and Industrial Quality (Inmetro)",
"National Institute of Social Security (INSS) ",
"National Institute of Studies and Educational Research Anisio Teixeira (INEP) ",
"National Institute of Technology Information (ITI) ",
"National Library Foundation ",
"National Movies Agency (ANCINE) ",
"National School of Public Administration Foundation (ENAP) ",
"National Trust of Education Development (FNDE) ",
"National Water Agency (ANA) ",
"Northeast Development Superintendency (SUDENE) ",
"Oswaldo Cruz Foundation (FIOCRUZ) ",
"Ozorio Foundation ",
"Porto Alegre Clinic Hospital ",
"Private Insurance Superintendency (SUSEP) ",
"Rio de Janeiro Botanical Gardens Research Institute ",
"Rui Barbosa House Foundation ",
"Sao Francisco and Parnaiba Valleys Development Company (CODEVASF) ",
"Telecom National Agency (ANATEL) "
), class = "factor")), .Names = c("year", "totalex", "agency.type",
"unit"), row.names = c(NA, 100L), class = "data.frame")
'facet_grid'具有'labeller'参数,您可以使用它来更改标签 – James 2012-07-12 09:15:56
嗨,詹姆斯。我知道'labeller'的参数,但无法弄清楚它是如何工作的。有关于stackoverflow的一些讨论,例如[这里](http://stackoverflow.com/questions/10151123/how-to-specify-columns-in-facet-grid-or-how-to-change-labels-in -facet-wrap)和[这里](http://stackoverflow.com/questions/3472980/ggplot-how-to-change-facet-labels?rq = 1)但没有直接相关的东西。 – user1519289 2012-07-12 13:36:52
它需要一个2个参数(变量,值)的函数,它将返回一个等于facet数量的向量。默认值是'label_value'。你可以提供一个匿名函数,返回你想要的标签列表并忽略参数。 – James 2012-07-12 13:45:33