Based Plot: Modified Plot
Modified Plot — Extended Quick Reference (R Base)
Topic | Command / Argument | What it does | Example |
---|---|---|---|
Basic plot | plot(x, y, …) |
Create a scatter plot | plot(mtcars$wt, mtcars$mpg) |
Axis labels & limits | xlab , ylab , xlim , ylim |
Label axes and set ranges | plot(..., xlab="Weight", ylim=c(10,35)) |
Suppress axes | axes=FALSE |
Hide axes, add custom later | plot(..., axes=FALSE) |
Custom axes | axis(side, at, labels) |
Add ticks & labels manually | axis(1, at=seq(1,6,1)) |
Box | box() |
Add border around plot region | box() |
Point shape | pch=0–25 |
Choose plotting symbol | plot(..., pch=19) |
Point size | cex |
Change point size (default=1) | plot(..., cex=2) |
Point colors | col , bg |
Border color & fill color (pch 21–25) | plot(..., pch=21, col="black", bg="red") |
Titles | main , sub |
Add main and subtitle | plot(..., main="Cars", sub="mtcars dataset") |
Grid | grid(nx, ny, col, lty, lwd) |
Add reference grid | grid(col="gray", lty=2) |
Regression line | abline(lm(y~x)) |
Add linear regression line | abline(lm(mpg~wt, mtcars)) |
Custom line | lines(x, y, …) |
Add connected line to plot | lines(lowess(x,y), col="blue") |
Horizontal/Vertical line | abline(h=…) , abline(v=…) |
Add constant reference lines | abline(h=20, col="red") |
Text annotations | text(x, y, labels, …) |
Add labels to points | text(mtcars$wt, mtcars$mpg, rownames(mtcars)) |
Point labels | identify(x, y, labels) |
Click to label interactively | identify(mtcars$wt, mtcars$mpg, rownames(mtcars)) |
Legend | legend(loc, legend, col, pch, …) |
Add legend | legend("topright", c("Auto","Manual"), col=c("red","blue"), pch=19) |
Margins | par(mar=c(b,l,t,r)) |
Adjust plot margins | par(mar=c(5,5,4,2)) |
Background (device) | par(bg=…) |
Change device background color | par(bg="lightblue") |
Plot region background | rect(par("usr")…) |
Fill plot panel background | rect(usr1,usr3,usr2,usr4, col="lightyellow") |
Multiple plots (row) | par(mfrow=c(r,c)) |
Layout row-wise | par(mfrow=c(2,2)) |
Multiple plots (col) | par(mfcol=c(r,c)) |
Layout column-wise | par(mfcol=c(2,2)) |
Custom layout | layout(matrix(...)) |
Flexible arrangements | layout(matrix(c(1,2,3,3),2,byrow=TRUE)) |
Save plot | png("file.png"); plot(...); dev.off() |
Save as PNG (also pdf() , jpeg() , svg() ) |
png("scatter.png"); plot(x,y); dev.off() |
Fine text control | cex.main , cex.lab , cex.axis |
Scale title/label/axis text | plot(..., cex.lab=1.5) |
Colors | palette() , RColorBrewer , hex codes |
Define custom color sets | col="#1f77b4" |
Extra Tips
- Transparency: use
rgb(r,g,b,alpha=…)
or custom functions to make points transparent. Example:
plot(x,y, col=rgb(0,0,1,0.3), pch=19)
Export quality plots: use
pdf()
for vector graphics (for publications),png()
with high resolution for slides.Consistency: set global styles with
par()
once (font, margins, bg) before plotting multiple figures.Interactivity:
identify()
is great for exploratory analysis to label points directly.Reproducibility: always add axis labels, titles, and legends—good practice for teaching and publication.