I have created a stripchart in R using the code below:
oldFaithful <- read.table("http://www.isi-stats.com/isi/data/prelim/OldFaithful1.txt", header = TRUE)
par(bty = "n") #Turns off plot border
stripchart(oldFaithful, #Name of the data frame we want to graph
method = "stack", #Stack the dots (no overlap)
pch = 20, #Use dots instead of squares (plot character)
at = 0, #Aligns dots along axis
xlim = c(40,100)) #Extends axis to include all data
The plot contains a large amount of extra space or whitespace at the top of the graph, as shown below.

Is there a way to eliminate the extra space at the top?
Short Answer
Add the argument
offset=1, as inLong Answer
You really have to dig into the code of
stripchartto figure this one out!When you set a
ylimby callingstripchart(oldFaithful, ylim=c(p,q))or when you letstripchartuse its defaults, it does in fact set theylimwhen it creates the empty plotting area.However, it then has to plot the points on that empty plotting area. When it does so, the y-values for the points at one x-value are specified as
(1:n) * offset * csize. Here's the catch,csizeis based onylim[2], so the smaller you make the upper ylim, the smaller iscsize, effectively leaving the space at the top of the chart no matter the value ofylim[2].As a quick aside, notice that you can "mess with"
ylim[1]. Try this:OK, back to solving your problem. There is a second reason that there is space at the top of the plot, and that second reason is
offset. By default,offset=1/3which (likecsize) is "shrinking" down the height of the y-values of the points being plotted. You can negate this behavior be settingoffsetcloser or equal to one, as inoffset=0.9.