[R] What is the easiest way to turn a dataframe into a barplot?

David L Carlson dcarlson at tamu.edu
Fri May 13 16:09:04 CEST 2016


If you want to stay with vertical bars, the barp() function in package plotrix lets you stagger or rotate the labels:

> set.seed(42)
> Name=c("One","Two", "Three","Four", "Five", "Six", "Seven", 
+      "Eight", "Nine", "Ten", "Eleven", "Twelve", "Thirteen", 
+      "Fourteen", "Fifteen")
> Count=sample.int(15, 15, replace=TRUE)
> z <- data.frame(Name, Count)
> with(z, barp(Count, names=Name))   # Some labels suppressed by the plot device
# Note that if you drag the plot window to be wider, the labels will eventually appear
> with(z, barp(Count, names=Name, staxx=TRUE))  # Stagger the labels
> with(z, barp(Count, names=Name, staxx=TRUE, srt=60))  # Slant the labels

-------------------------------------
David L Carlson
Department of Anthropology
Texas A&M University
College Station, TX 77840-4352

-----Original Message-----
From: R-help [mailto:r-help-bounces at r-project.org] On Behalf Of yoursurrogategod at gmail.com
Sent: Thursday, May 12, 2016 1:14 PM
To: William Dunlap
Cc: r-help at r-project.org
Subject: Re: [R] What is the easiest way to turn a dataframe into a barplot?

Ok, the horizontal names work here.  Thanks.

> On May 12, 2016, at 1:31 PM, William Dunlap <wdunlap at tibco.com> wrote:
> 
> Does this do what you want?
> 
> z <- data.frame(Name=c("One","Three","Twelve","Eleven"), Count=c(1,3,12,11))
> with(z, barplot(Count, names=Name, horiz=TRUE))
> with(z, barplot(Count, names=Name, horiz=TRUE, las=1))
> 
> 
> Bill Dunlap
> TIBCO Software
> wdunlap tibco.com
> 
>> On Thu, May 12, 2016 at 10:19 AM, yoursurrogategod at gmail.com <yoursurrogategod at gmail.com> wrote:
>> Hello, I can't post my code since it's on a work computer.
>> 
>> But basically, I have a dataframe that has two columns, one is a string and the other is an integer.  I want to turn this into a vertival barplot where on the x-axis I have the string in the first columb and then the plot will display the integer count.
>> 
>> I have found many examples online and most of those matched either odd edge cases or putting the data into a format that strips out some of the data and I can't use it later.
>> 
>> This should be a breeze, what am I missing?
>> ______________________________________________
>> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
>> 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.
> 

	[[alternative HTML version deleted]]

______________________________________________
R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
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.



More information about the R-help mailing list