Dear Sir/Madam,



It is possible to make grouped bar plots via barplot. But I want  to add a
break in y axis for data that largely differs. However, this seems
complicated. Although gap.barplot may add a break in y asis, but the bars
are not grouped as I wanted. Could you help me with this problem?

I have attach the code as below and thank you very much indeed for your
kind help.


Kind regards,

Wei



x1=c(3,5,6,9,375,190);

x1

x2=c(2,2,3,30,46,60);

x2

data=rbind(x1,x2);

data

colnames(data)=c("Pig","Layer","Broiler","Dairy","Beef","Sheep")

rownames(data)=c("1980","2010")

data



# plot grouped bar by using barplot

barplot(data,

        beside=T,

        ylab="Number of animal",

        #cex.names=0.8,

        #las=2,

        col=c("darkblue","red")

)



# Since there are large differences in numbers, so I want to add a break
between 200 to 340 as below:

data_T=t(data);

data_T

#install.packages("reshape")

library(reshape)

mdata <- melt(data_T, id=c("1980","2010"));

mdata

colnames(mdata)=c("Animal","Year",'value');

mdata

gap.barplot(mdata$value,

            gap=c(200,340),

            xlab="Animal",

            ytics=c(0,50,100,150,200,300,350,400),

            ylab="Number of animal",

            xaxlab=mdata$Animal,

            xaxt="n" # This is esentiall to remove everything from x axis
(e.g. a clean x axis))

# then define a axis using the following

axis(side = 1, at = seq_along(mdata$Animal),mdata$Animal,tick = FALSE)

abline(h=seq(200,205,.001), col="white")  # hiding vertical lines

axis.break(axis=2,breakpos=202.5,style="slash") # break the left Y axis



# But this is not exactly what I want because the bars (in gap.barplot) are
not grouped as previous barplot figures :(

#Then my questions is how to make a broken y axis in grouped barplot
figures?

# In another words, how to combine the function of barplot and gap.barplot?

#Thanks a lot for your kind help!

	[[alternative HTML version deleted]]

