Hi Your data frame is a bit weird. I changed it to more standard structure
df<-as.data.frame(lapply(df, unlist)) You can concatenate labels to one character vector x<-with(df, paste(disk, vmfs, vmdk, sep="-")) Then you can use barplot, however labels are quite long to fit. barplot(df$BW, names=x) Package plotrix can deal with alternating labels for x axis, or you can use perpendicular labeling. See las from ?par Regards Petr > -----Original Message----- > From: r-help-boun...@r-project.org [mailto:r-help-bounces@r- > project.org] On Behalf Of Prasad Joshi > Sent: Tuesday, October 08, 2013 2:24 AM > To: dcarl...@tamu.edu > Cc: r-help@r-project.org > Subject: Re: [R] Need help with plotting the graph > > On Tue, Oct 8, 2013 at 1:48 AM, David Carlson <dcarl...@tamu.edu> > wrote: > > First. You should update R to the latest version, 3.0.2. > > > Hello David, > > Thanks a lot for your reply. I will update R. > > > > > Third. Use dput(df) and send the output to the mailing list. A data > > frame usually consists of several vectors, not several lists. It > might > > be necessary to explain how you created or obtained df. > > > > The data is generated by reading the CSV files. The source code is as > below ============================================================== > get_iops <- function(x) { > good <- complete.cases(x$Read.IOps) > mean(x$Read.IOps[good]) > } > > get_mbs <- function(x) { > good <- complete.cases(x$Read.MBps) > mean(x$Read.MBps[good]) > } > > lappend <- function(lst, obj) { > lst[[length(lst)+1]] <- obj > return(lst) > } > > result <- list() > > disk <- "naa.5000a7203007ed8f" > vmfs3_eager = read.csv("VMFS3-Thick-Eager.csv") iops <- > get_iops(vmfs3_eager) bw <- get_mbs(vmfs3_eager) x <- list(disk = disk, > vmfs = 3, vmdk = "eager", IOPS = iops, BW = bw) result <- > lappend(result, x) > > # I read 6 such CSV files > ... > ... > > df <- as.data.frame(do.call(rbind, result)) > ============================================================== > > > dput(df) > structure(list(disk = list("naa.5000a7203007ed8f", > "naa.5000a7203007ed8f", > "naa.5000a7203007ed8f", "naa.5000a7203007ed8f", > "naa.5000a720300895c4", > "naa.5000a720300895c4", "naa.5000a720300895c4", > "naa.5000a720300895c4"), > vmfs = list(3, 3, 5, 5, 3, 3, 5, 5), vmdk = list("eager", > "lazy", "eager", "lazy", "eager", "lazy", "eager", "lazy"), > IOPS = list(16886.766301, 44623.145983, 16767.526886, 45891.547436, > 16794.495655, 45289.670722, 16603.198764, 46092.4011), > BW = list(65.963931, 174.309164, 65.498152, 179.263857, 65.603499, > 176.912776, 64.856245, 180.048442)), .Names = c("disk", "vmfs", > "vmdk", "IOPS", "BW"), row.names = c(NA, -8L), class = "data.frame") > > > df > disk vmfs vmdk IOPS BW > 1 naa.5000a7203007ed8f 3 eager 16886.77 65.96393 > 2 naa.5000a7203007ed8f 3 lazy 44623.15 174.3092 > 3 naa.5000a7203007ed8f 5 eager 16767.53 65.49815 > 4 naa.5000a7203007ed8f 5 lazy 45891.55 179.2639 > 5 naa.5000a720300895c4 3 eager 16794.5 65.6035 > 6 naa.5000a720300895c4 3 lazy 45289.67 176.9128 > 7 naa.5000a720300895c4 5 eager 16603.2 64.85625 > 8 naa.5000a720300895c4 5 lazy 46092.4 180.0484 > > > I used lists since, I wanted to avoid the compulsory coercion that > happens in vectors. I though using numbers for IOPS and BW would be > better for plotting the graphs. > > > Second. What commands have you tried and what error messages did you > > receive? > > I wanted to plot the graph of BW or IOPS against combination of > disk+vmfs+vmdk. For example: if I take the first row from above df > dataframe, I would like graph to contain BW 65 on Y axis and X axis > caption would be "naa.5000a7203007ed8f-3-eager". > > I tried to plot graph using hist, plot, boxplot -- however I could not > find a way to specify multiple values for X axis. > > I will look forward for your reply. > > Thanks and Regards, > Prasad > > > > ------------------------------------- > > David L Carlson > > Associate Professor of Anthropology > > Texas A&M University > > College Station, TX 77840-4352 > > > > -----Original Message----- > > From: r-help-boun...@r-project.org > > [mailto:r-help-boun...@r-project.org] On Behalf Of Prasad Joshi > > Sent: Monday, October 7, 2013 5:03 AM > > To: r-help@r-project.org > > Subject: [R] Need help with plotting the graph > > > > Hello All, > > > > The version of R I am using is as follows > >> version > > _ > > platform x86_64-pc-linux-gnu > > arch x86_64 > > os linux-gnu > > system x86_64, linux-gnu > > status > > major 2 > > minor 14.1 > > year 2011 > > month 12 > > day 22 > > svn rev 57956 > > language R > > version.string R version 2.14.1 (2011-12-22) > > > > > > I just few days back started using R for basic statistical analysis. > I > > want to plot the graph of following information > > > > > >> df > > disk vmfs vmdk IOPS BW > > 1 naa.5000a7203007ed8f 3 eager 16886.77 65.96393 > > 2 naa.5000a7203007ed8f 3 lazy 44623.15 174.3092 > > 3 naa.5000a7203007ed8f 5 eager 16767.53 65.49815 > > 4 naa.5000a7203007ed8f 5 lazy 45891.55 179.2639 > > > >> str(df) > > 'data.frame': 4 obs. of 5 variables: > > $ disk:List of 4 > > ..$ : chr "naa.5000a7203007ed8f" > > ..$ : chr "naa.5000a7203007ed8f" > > ..$ : chr "naa.5000a7203007ed8f" > > ..$ : chr "naa.5000a7203007ed8f" > > $ vmfs:List of 4 > > ..$ : num 3 > > ..$ : num 3 > > ..$ : num 5 > > ..$ : num 5 > > $ vmdk:List of 4 > > ..$ : chr "eager" > > ..$ : chr "lazy" > > ..$ : chr "eager" > > ..$ : chr "lazy" > > $ IOPS:List of 4 > > ..$ : num 16887 > > ..$ : num 44623 > > ..$ : num 16768 > > ..$ : num 45892 > > $ BW :List of 4 > > ..$ : num 66 > > ..$ : num 174 > > ..$ : num 65.5 > > ..$ : num 179 > > > > I would like Y axis to represent BW and X axis to represent disk, > vmfs > > and vmdk. > > > > All the examples in books or online have single X axis. I could not > > find an example which does something similar to what I am trying. Can > > anyone please give me some pointers? > > > > Thanks and Regards, > > Prasad > > > > ______________________________________________ > > R-help@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. > > > > ______________________________________________ > R-help@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. ______________________________________________ R-help@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.