[R] Barplot not showing all labels

John Kane jrkrideau at inbox.com
Tue Jan 14 22:22:31 CET 2014


I am not sure that I got the data correctly--it is much better to supply sample data using dput(). See ?dput for more information but I think something like this will work

dat1 / <-  structure(list(cty = structure(1:70, .Label = c("AE", "AN", "AR", 
"AT", "AU", "BB", "BD", "BE", "BH", "BM", "BN", "BO", "BR", "BS", 
"CA", "CH", "CM", "CN", "CO", "CR", "CY", "DE", "DK", "DO", "EC", 
"ES", "FI", "FR", "GB", "GR", "GU", "HK", "ID", "IE", "IL", "IN", 
"IO", "IT", "JM", "JP", "KH", "KR", "KY", "LU", "LV", "MO", "MX", 
"MY", "NG", "NL", "NO", "NZ", "PA", "PE", "PG", "PH", "PR", "PT", 
"RO", "RU", "SA", "SE", "SG", "TC", "TH", "TT", "TW", "TZ", "US", 
"ZA"), class = "factor"), val = c(0, 3, 0, 2, 1, 31, 4, 1, 1, 
1, 45, 1, 1, 4, 5, 86, 3, 1, 8, 1, 2, 1, 8, 2, 1, 2, 4, 2, 4, 
35, 3, 3, 14, 3, 5, 2, 5, 1, 2, 1, 15, 1, 11, 2, 2, 1, 1, 23, 
7, 1, 6, 1, 3, 1, 2, 1, 1, 8, 1, 1, 1, 1, 1, 18, 1, 1, 2, 11, 
1, 0)), .Names = c("cty", "val"), row.names = c(NA, -70L), class = "data.frame")

library(ggplot2)
ggplot(dat1, aes(cty, val))+ geom_bar(stat = "identity", colour = "red") + coord_flip()

It will take some cleaning  up using theme() but I think it supplies the essentials that you want.

John Kane
Kingston ON Canada


> -----Original Message-----
> From: mrjefftoyou at gmail.com
> Sent: Mon, 13 Jan 2014 11:15:46 -0800
> To: r-help at r-project.org
> Subject: [R] Barplot not showing all labels
> 
> I have a table that consists of the following country codes and
> frequencies:
>    AE AN AR AT AU BB BD BE BH BM BN BO BR BS CA CH CM CN CO CR CY DE DK
> DO
> EC ES
>  0  3  0  2  1 31  4  1  1  1 45  1  1  4  5 86  3  1  8  1  2  1  8  2
> 1
>  2  4
> FI FR GB GR GU HK ID IE IL IN IO IT JM JP KH KR KY LU LV MO MX MY NG NL
> NO
> NZ PA
>  2  4 35  3  3 14  3  5  2  5  1  2  1 15  1 11  2  2  1  1 23  7  1  6
> 1
>  3  1
> PE PG PH PR PT RO RU SA SE SG TC TH TT TW TZ US ZA
>  2  1  1  8  1  1  1  1  1 18  1  1  2 11  1  0  3
> 
> I am executing:
> non_us <- table(subset(mydf, (COUNTRY %in% validcountries) & COUNTRY !=
> "US", select = COUNTRY))
> 
> barplot(non_us,horiz=TRUE,xlab = "Count", ylab = "Country",main= "Count
> of
> Non-US Records by Country",col="red")
> 
> It creates the attached image (I hope images come through on email).
> Notice
> that it is not displaying all of the country codes. It shows bars for
> each
> country, but only 6 are appearing.
> 
> Does anyone have a suggestion? I'm open to using qplot, ggplot or ggplot2
> (and have tried that), but I want a bar (horizontal) chart not a column
> chart.
> 
> Thanks in advance.
> 
> --
> Jeff
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.

____________________________________________________________
FREE 3D MARINE AQUARIUM SCREENSAVER - Watch dolphins, sharks & orcas on your desktop!




More information about the R-help mailing list