- Overview of Data Visualization
- When to Use Bar Chart, Column Chart, and Area Chart
- What is Line Chart and When to Use It
- What are Pie Chart and Donut Chart and When to Use Them
- How to Read Scatter Chart and Bubble Chart
- What is a Box Plot and How to Read It
- Understanding Japanese Candlestick Charts and OHLC Charts
- Understanding Treemap, Heatmap and Other Map Charts
- Visualization in Data Science
- Graphic Systems in R
- Accessing Built-in Datasets in R
- How to Create a Scatter Plot in R
- Create a Scatter Plot in R with Multiple Groups
- Creating a Bar Chart in R
- Creating a Line Chart in R
- Plotting Multiple Datasets on One Chart in R
- Adding Details and Features to R Plots
- Introduction to ggplot2
- Grammar of Graphics in ggplot
- Data Import and Basic Manipulation in R - German Credit Dataset
- Create ggplot Graph with German Credit Data in R
- Splitting Plots with Facets in ggplots
- ggplot2 - Chart Aesthetics and Position Adjustments in R
- Creating a Line Chart in ggplot 2 in R
- Add a Statistical Layer on Line Chart in ggplot2
- stat_summary for Statistical Summary in ggplot2 R
- Facets for ggplot2 Charts in R (Faceting Layer)
- Coordinates in ggplot2 in R
- Changing Themes (Look and Feel) in ggplot2 in R
Adding Details and Features to R Plots
We've already seen how we can enhance the plots created in R by adding title, axis labels, legends, etc. Let's learn about a few more enhancements.
Adding Vertical/Horizontal Lines to the Graph
You may want to add a vertical or a horizontal line to your graph at a certain axis point. This can be done using the
> abline(v=0) # Draw a vertical line at x = 0. > abline(h=0) # Draw a vertical line at y = 0.
In the below example, we add a vertical line at x=0 on our normal distribution plot.
The resulting graph is displayed below:
Normal Distribution - Vertical Line
Adding Explanatory text to the Visualization
To make a data visualization useful for its users, it is important to add sufficient explanatory text to it. The function
text() allows us to add text anywhere inside the plotting area.
The below code adds the text "Normal Distribution Curves" to our distributions graph.
> text(-3, 1.5, "Normal Distribution Curves")
Normal Distribution - Adding Text
text() function can be used to add text in many ways. Use the help
?text to learn more about the function.
Using Colors Effectively
While designing data visualizations, it is important to use colors to easily distinguish between various data points. For example, if you have two lines on a plot, it's not a good idea to draw one as dark green and another as dark blue. It will be difficult to distinguish between the two lines. Iliinsky and Steele recommend a set of 12 colors, in descending order of desirability from the top of the plot to the bottom.
> # Iliinsky and Steele color name vector > colors <- c("red", "green", "yellow", "blue", "black", "white", "pink", "cyan", "gray", "orange", "brown", "purple") > data <- c(rep(3, 4), rep(2, 4),rep(1,4)) > barplot(rev(data), horiz = TRUE, col = rev(colors),names.arg = rev(colors), las = 1)
As you can see, we are using
rep() in a function where we are creating our own sample data:
rep() function replicates the values in x. For example,
rep(3, 4) will repeat the value 3 4 times, i.e., 3 3 3 3.
rev() function reverses an R object, including vector, array etc.
R Chart- Adding Colors
Note that in the above graph, we use the argument
las=1 to rotate the plot's axis labels. The
las argument can have three possible values based on which the placement of the label will differ. With
las equal to 0, the label will always be parallel to the axis (default); With
las equal to 1, the label will be put horizontally. Value 2 will make it perpendicular to the axis and 3 will place it vertically.
las is actually an argument of the
axis() function, that is, you can call the
axis() function after the plot function to make changes to the axis. Apart from rotating the axis labels, it is capable of many things, such as changing the axis position, for example
axis(3) will draw the x-axis above the plot area and
axis(4) will draw the y-axis on the right side of the plot area. Note that if you want to edit the axis settings after plotting the graph using
axis() function, it's a good idea to set the default axis to false (axes=FALSE) during the initial plot creation.