Mastering Data Visualization: A Guide to Harnessing the Power of R’s par() Function

[This article was first published on Steve's Data Tips and Tricks, and kindly contributed to R-bloggers]. (You can report issue about the content on this page here)
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.


When it comes to data visualization in R, the par() function is an indispensable tool that often goes overlooked. This function allows you to control various graphical parameters, unleashing a world of customization possibilities for your plots. In this blog post, we’ll demystify the par() function, break down its syntax, and provide you with hands-on examples to help you create stunning visualizations.

Understanding the Syntax:

The par() function stands for “parameters,” and its primary purpose is to modify the graphical parameters of plots in R. Here’s a breakdown of its basic syntax:


The ellipsis (...) represents a sequence of arguments that you can pass to the function. These arguments will determine the changes you want to make to your plots.


Example 1: Adjusting Plot Margins

par(mar = c(5, 4, 4, 2) + 0.1)

In this example, we’re using the mar parameter to control the margins of the plot. The vector c(5, 4, 4, 2) + 0.1 specifies the bottom, left, top, and right margins, respectively. Increasing the margins gives more space for titles, labels, and annotations.

Example 2: Changing Plot Colors

par(col.main = "blue", col.axis = "red")
plot(1:10, main = "Custom Colors", xlab = "X-axis", ylab = "Y-axis")

Here, we’re utilizing col.main and col.axis to change the color of the main title and axis labels. This adds a touch of vibrancy to your plots and enhances readability.

Example 3: Adjusting Font Size:

par(cex.main = 1.5, cex.axis = 0.8)
plot(1:10, main = "Bigger Title, Smaller Labels")

With cex.main and cex.axis, you can control the size of the main title and axis labels, respectively. This allows you to emphasize important information and fine-tune the presentation.

Example 4: Controlling Axis Type

par(log = "y")
Warning in par(log = "y"): "log" is not a graphical parameter
plot(1:10, log = "y", main = "Logarithmic Y-axis")

By setting log = "y", you’re instructing R to use a logarithmic scale for the y-axis. This is particularly useful when dealing with data that spans several orders of magnitude.

Empower Yourself: Try it Out!

Don’t just stop at these examples! The true power of the par() function lies in experimentation. Tweak the arguments, combine them, and watch your plots transform. Feel free to explore other parameters, such as bg, lwd, and pch, to further customize line colors, line widths, and point shapes.

In conclusion, the par() function in R is your gateway to creating visually stunning plots that effectively communicate your data insights. By understanding its syntax and harnessing its potential through hands-on practice, you’ll be well-equipped to take your data visualization skills to the next level. So, why wait? Dive in, experiment, and let your creativity shine through your plots!

To leave a comment for the author, please follow the link and comment on their blog: Steve's Data Tips and Tricks. offers daily e-mail updates about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

Never miss an update!
Subscribe to R-bloggers to receive
e-mails with the latest R posts.
(You will not see this message again.)

Click here to close (This popup will not appear again)