contour() seems to consistently place lines for me: > M <- matrix(0,10,10) > contour(1:10,1:10,row(M) +col(M)) > abline(h=5) > abline(v=5) >
[well, at least the "10" contour goes through the cross hairs] On Thu, Oct 25, 2012 at 3:42 PM, Thomas Veltman < [email protected]> wrote: > Hey gang! > > This is my first post to the list, but I will try to be as precise as > possible. I have googled around and can't find an easy explanation for why > this is happening, so I figured I had better get some help from the > experts, so thanks in advance! My code is supplied below. I am running R > 2.15.1 on Mountain Lion, 64-bit. OSX is 10.8.2 > > I want to plot iso-efficiency lines for a hypothetical device. I have a > fully-parameterized expression, and have checked its sanity by hand, and it > appears to operate as it ought to. However, when I use the contour() > function, the contour lines it produces don't lie in the correct place. I > generally believe their shape, but they appear to be translated by some > amount. I know that the analytical expression produces a given value, but > when I look for that point on the plot, the iso-efficiency line doesn't cut > through the point. This is illustrated in the following code by the blue > circle. That point should fall on the red line, but clearly it does not. > Nevertheless, the governing equation (as defined in the R code) produces > the correct result (if you check the array "Electrolyzer", the numbers > match what you would get from simply applying the appropriate values to the > expression, so it isn't a problem in the iterative population of the > array). I tried varying the mesh ! > size (i.e. the number of points in the vectors etaELEC and FE), but of > course this didn't have any effect besides smoothing the curves out a bit > more. I also thought that it might be a problem with the png output, but I > tried generating the figure in the quartz window, and the error persists. > I also tried closing R, not saving the workspace, reopening, making a > completely new working directory, and then re-entering the functions. In > all cases, the plot still ends up funky. > > Is there something fundamental that I am missing about the contour plot > function? Also, for those playing along at home, the code includes an > "easy" way to add subscripts after special characters in a plot title > (which is typically a useful feature). Relevant code is pasted below: > > > Ecap <- function(etaELEC,FE,etaFC,etaRP,ENH3,etaCOMP,etaST) > {(etaELEC)/((1+((1-FE)/(FE*1.43))*(1-etaST*etaELEC+((1.2*1.43*etaELEC)/(etaRP*ENH3)))+((7.3*etaELEC)/(2*etaCOMP*ENH3))+((25*etaELEC)/(etaRP*ENH3))))} > > > etaELEC <- seq(from=0.05,to=1, by=0.01) > FE <- seq(from=0.05,to=1, by=0.01) > > > Electrolyzer <- array(0,dim=c(length(etaELEC),length(FE))) > for (i in 1:length(etaELEC)){ > for (j in 1:length(FE)){ > > Electrolyzer[i,j]<-Ecap(FE=FE[j],etaST=0,etaFC=0,etaELEC=etaELEC[i],etaRP=0.6,etaCOMP=0.95,ENH3=340)}} > png(file="Standalone.png",bg="transparent",height=5400,width=5400,res=864) > par(family="serif",tck=0.01) > plot(0, type="n", xlim=c(0,1),ylim=c(0,1), cex.lab=1.2, main="Energy > Capture Coefficient for Standalone Device", xlab="Electrolyzer Voltage > Efficiency", ylab="Faradaic Efficiency", cex.sub=0.75, > sub=expression(paste(eta,""[FC],"=0, ",eta,""[Comp],"=0.95, > ",eta,""[Sterling],"=0, ",eta,""[RP],"=0.60, "))) #make blank plot box with > correct axes, etc... > > contour(x=seq(0,1,length.out=(nrow(Electrolyzer))),y=seq(0,1,length.out=(ncol(Electrolyzer))),Electrolyzer,axes=FALSE,levels=c(-0.1,0,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1)) > > contour(x=seq(0,1,length.out=(nrow(Electrolyzer))),y=seq(0,1,length.out=(ncol(Electrolyzer))),Electrolyzer,axes=FALSE,levels=c(0.102),col="red") > points(0.5,0.1547,col="blue") > dev.off() > > > ________________________ > Thomas Veltman > Kanan Lab > Department of Chemistry > Stanford University > [email protected] > > > > > > [[alternative HTML version deleted]] > > _______________________________________________ > R-SIG-Mac mailing list > [email protected] > https://stat.ethz.ch/mailman/listinfo/r-sig-mac > -- Robin Hankin Uncertainty Analyst [email protected] [[alternative HTML version deleted]] _______________________________________________ R-SIG-Mac mailing list [email protected] https://stat.ethz.ch/mailman/listinfo/r-sig-mac
