The plotrix package does this (). However, maybe only for lines. The code below will plot as many graphs of different types one on another, and it contains a plot with a different axis. The graphs are self scaling for y axis and date axis.
I have included background code for setting up date data, + the table used for graphing. (It looks much more intelligible in Tinn-R.) > names(survis) [1] "Province" "District" "SubDistrict" "Village" "Date" "Activity" "Status" "RapidTestDone" "AnigenResult" [10] "HPAICompEvent" class(survis$Date) [1] "POSIXt" "POSIXct" #SET UP DATA survis2<-survis #rename fields #Return date as month number survismth<-as.numeric(format(survis2$Date, "%m")) #set up axis labels date.bins <- seq(from = min(survis2$Date), format = "%d/%m/%y", to = max(survis2$Date), format = "%d/%m/%y", by = "1 month") date.lab <- as.character(date.bins, format = "%b-%y") print(join6) mthvis 0 1 testsdone anigenpos testpercr 4 954 819 135 135 105 11.01 5 2090 1929 161 161 114 5.45 6 2723 2545 178 178 126 4.63 7 2600 2460 140 140 93 3.58 8 2580 2392 188 188 106 4.11 9 2415 2240 175 175 104 4.31 10 2354 2263 91 91 42 1.78 11 1595 1526 69 69 36 2.26 #GRAPH THE RESULTS par(las=2) mthlgth<-max(survismth)-min(survismth)+1 plotvis<-barplot(join6[,"mthvis"],col="grey90",main="Visit numbers, test numbers and HPAI detection rates\n - ALL PROVINCES",font.main=4,ylab="Number of visits",border="grey20",ylim = c(0, max(join6[,"mthvis"]+20)), space=0, xlim=c(0,mthlgth),names=date.lab) #Second barplot overlying par(new = TRUE) plottests<-barplot(join6[,"anigenpos"],col="dark green",space=0, axes=FALSE, names.arg="", ylim=c(0, max(join6[,"mthvis"]+20))) #no axes, ylim to align y axis #Create graph with second plot with second axis with different scale, with points centred on barplot columns par(new = TRUE) ; par(las=0) plotperc<-plot(join6[,"testpercr"], type = "o", axes = FALSE, bty = "n", xlab = "", ylab="", col="red",lwd=2,lty=1, xlim=c(0.5,(mthlgth+0.5))) axis(side=4, at = pretty(range(testpercr)), col="red", lwd=2) mtext("HPAI diagnoses per 100 visits", side = 4, line = -1.15, outer = FALSE, at = NA, adj = NA, padj = NA, cex = NA, col = NA, font = NA) savePlot(filename = "ALL PROVINCES", type = c("png"), device = dev.cur()) Ron Thornton ron.thorn...@fao.org ______________________________________________ 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.