[R] Need help with plotting the graph
Prasad Joshi
prasadjoshi124 at gmail.com
Tue Oct 8 02:36:09 CEST 2013
On Tue, Oct 8, 2013 at 2:01 AM, Jim Lemon <jim at bitwrit.com.au> wrote:
> On 10/07/2013 09:02 PM, Prasad Joshi wrote:
>>
>> Hello All,
>> ....
>>
>> 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?
>>
> Hi Prasad,
> You may want something like the following:
>
> df<-read.table(
> text="disk vmfs vmdk IOPS BW
>
> naa.5000a7203007ed8f 3 eager 16886.77 65.96393
> naa.5000a7203007ed8f 3 lazy 44623.15 174.3092
> naa.5000a7203007ed8f 5 eager 16767.53 65.49815
> naa.5000a7203007ed8f 5 lazy 45891.55 179.2639",
> header=TRUE)
> x11(width=10,height=5)
> par(mfrow=c(1,3))
> brkdn_disk<-by(df$BW,df$disk,FUN=mean)
> plot(brkdn_disk,xaxt="n")
> axis(1,at=1:length(brkdn_disk),labels=names(brkdn_disk))
> brkdn_vmfs<-by(df$BW,df$vmfs,FUN=mean)
> plot(brkdn_vmfs,xaxt="n")
> axis(1,at=1:length(brkdn_vmfs),labels=names(brkdn_vmfs))
> brkdn_vmdk<-by(df$BW,df$vmdk,FUN=mean)
> plot(brkdn_vmdk,xaxt="n")
> axis(1,at=1:length(brkdn_vmdk),labels=names(brkdn_vmdk))
>
> You can also have the plots in a vertical format by using:
Thanks Jim for your efforts. The code you gave works for me if I
include df <- read.table() line.
Since I am kind of new to R, I think I am not being efficient with the
data.frame df.
> 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")
I will find the way to correctly represent the result dataframe.
Any ways thanks Jim for your reply.
Thanks and Regards,
Prasad
>
> par(mfrow=c(3,1))
>
> Jim
More information about the R-help
mailing list