# How to Plot a Table in R (With Example)

Often you may want to plot a table along with a chart in R.

Fortunately this is easy to do using functions from the gridExtra package.

The following example shows how to use functions from this package to plot a table in practice.

## Example: Plot a Table in R

Suppose we have the following data frame in R:

```#create data frame
df <- data.frame(x=c(1, 2, 3, 4, 5, 6, 7),
y=c(3, 4, 4, 8, 6, 10, 14))

#view data frame
df

x  y
1 1  3
2 2  4
3 3  4
4 4  8
5 5  6
6 6 10
7 7 14```

Now suppose we would like to create a scatterplot to visualize the values in the data frame and also plot a table that shows the raw values.

We can use the following syntax to do so:

```library(gridExtra)
library(ggplot2)

#define scatterplot
my_plot <- ggplot(df, aes(x=x, y=y)) +
geom_point()

#define table
my_table <- tableGrob(df)

#create scatterplot and add table underneath it
grid.arrange(my_plot, my_table)
```

Here is how this code worked:

• We used ggplot() to generate the scatterplot
• We used tableGrob() to convert the data frame to a table object
• We used grid.arrange() to plot both the scatterplot and the table

By default, the grid.arrange() function arranges the scatterplot and the table in the same column.

However, you can use the ncol argument to display the scatterplot and table in two columns, i.e. side by side:

```library(gridExtra)
library(ggplot2)

#define scatterplot
my_plot <- ggplot(df, aes(x=x, y=y)) +
geom_point()

#define table
my_table <- tableGrob(df)

#create scatterplot and add table next to it
grid.arrange(arrangeGrob(my_plot, my_table, ncol=2))
```

The table is now shown to the side of the plot rather than underneath it.

Note: In this example we only plotted one table, but you can specify multiple tables within the grid.arrange() function to plot multiple tables at once.