Following up on my comment, I think it's likely that somehow the data in the circles data frame is being converted to factor class. I don't know why it's happening with rmarkdown compilation and not interactively (assuming you're running the rmarkdown code chunks interactively, rather than a separate script containing what is believed to be the same code). In the absence of additional inspiration, we'll need to see code and data to answer that question. For now, here's an example that produces output analogous to your problem graph:
Set up two data frames using the built-in mtcars data:
data(mtcars)
dat1 = mtcars[1:10,]
dat2 = mtcars[11:20, ]
# Convert the `mpg` and `wt` columns to factor in `dat1` only:
dat1$mpg = factor(dat1$mpg)
dat1$wt = factor(dat1$wt)
# Increase the values of dat2$wt so they'll plot to the right of the values in dat1$wt
dat2$wt = dat2$wt * 10
Now for the plot: The plot looks the way it does because the values in dat1 are treated as categorical. So the axis labels are equal to the values of the points, but the locations (the x-y coordinates) where they are plotted are equal to the integers 1 through n where n is the number of points.
The continuous values in dat2 are plotted at locations equal to their actual values (i.e., at their "correct" locations) on the same scale, but without any tick marks.
ggplot() +
geom_point(data=dat1, aes(wt, mpg)) +
geom_point(data=dat2, aes(wt, mpg)) +
theme_classic()

rmarkdowndocument interactively? To run the code in thermarkdowndocument interactively (assuming you're in RStudio), put the cursor just below the point at which the plot is generated in thermarkdowndocument, click on theRunbutton and selectRun all chunks above. - eipi10formatoutputs a character string, so your numeric data was converted to character. character and factor classes are different, but they're both categorical and behave essentially the same way for the purposes of this issue. - eipi10