How To Add Italics To Title In Ggplot
Bar Charts with R
The linguistic communication of information visualization is universal. Not everyone will recognize a great visualization, just everyone will think a terrible ane. If you use tools and techniques discussed in this commodity, the chances for your visualization to be classified as "terrible" will exist shut to zero.
Want to brand your workflow more productive? Here's our curated list of RStudio shortcuts and tips.
This commodity shows you how to make all sorts of bar charts with R and ggplot2
. Yous'll also acquire how to make them aesthetically-pleasing with colors, themes, titles, and labels.
Today you'll learn how to:
- Brand your showtime bar chart
- Change colors and themes
- Add together titles, subtitles, and captions
- Edit axis labels
- Make stacked, grouped, and horizontal bar charts
- Add together labels
Make Your First Bar Chart
There are enough of datasets built into R and thousands of others available online. Still, you'll declare your own. The reasoning is simple – yous're hither to larn how to brand bar charts, non how to aggregate information.
Here's the dataset yous'll apply today:
library(ggplot2) data <- information.frame( quarter=c("Q1", "Q1", "Q2", "Q2", "Q3", "Q3", "Q4", "Q4"), product=c("A", "B", "A", "B", "A", "B", "A", "B"), profit=c(10, fourteen, 12, 11, 13, xv, 16, 18) )
R's standard library for information visualization is ggplot2
. It's based on the layering principle. For example, you lot outset declare a information layer and and so a visualization layer. These ii are mandatory for whatever visualization. You'll run across afterward how boosted layers can make charts more informative and highly-seasoned.
To get-go, you lot'll make a bar chart that has the column quarter
on the 10-axis and profit
on the y-axis. That's declared in the first layer (data), and the second layer (visualization) specifies which type of visualization y'all want. The geom_bar
and geom_col
layers are used to create bar charts. With the get-go pick, y'all need to specify stat = "identity"
for information technology to work, so the ladder is used throughout the article.
You can create a elementary bar chart with this code:
ggplot(data, aes(x = quarter, y = turn a profit)) + geom_col()
Here's the corresponding visualization:
Paradigm 1 – Simple bar chart
This one gets the job washed merely doesn't look like something you lot'd want to show to your boss. Yous'll fix information technology in the following sections.
Colors and Themes
Tweaking colors and themes is the simplest thing yous can do to brand visualization await better. The geom_bar()
has two useful parameters:
-
color
– outline color of the confined -
make full
– fill color of the bars
Here'southward how to use fill
to make your chart Appsilon-approved:
ggplot(data, aes(ten = quarter, y = profit)) + geom_col(fill = "#0099f9")
Image ii – Using fill to change the bar color
The color
parameter changes only the outline. The dataset you're using has 2 distinct products. R draws a fill line between products' values, every bit stacked bar charts are used by default. You'll learn more than about the stacked charts afterwards.
Here'due south what this means in practice. The code snippet below sets the make full color to white and outline color to bluish:
ggplot(data, aes(ten = quarter, y = profit)) + geom_col(colour = "#0099f9", fill = "#ffffff")

Paradigm 3 – Changing the outline color
In example coloring doesn't exercise the trick, you can completely change the theme. That's still another layer to add together later the initial visualization layer. Here's how to do it:
ggplot(data, aes(x = quarter, y = profit)) + geom_col(fill = "#0099f9") + theme_classic()

Epitome 4 – Irresolute the visualization theme
If this theme isn't your matter, there's enough more to pick from. You can find the entire list here .
Titles, Subtitles, and Captions
A visualization without a title is useless. There'southward no manner to know if you're looking at Election votes or 2020 USA ballot votes in California . You lot can utilize subtitles to put additional information, but it's not mandatory. Captions are useful for placing visualization credits and sources.
The most convenient way to add these is through a labs()
layer. It takes in values for championship
, subtitle
, and caption
.
Allow's see how to add all three:
ggplot(information, aes(x = quarter, y = profit)) + geom_col(fill = "#0099f9") + labs( title = "Quarterly Profit (in 1000000 U.S. dollars)", subtitle = "A elementary bar chart", caption = "Source: ImaginaryCo" )

Paradigm five – Title, subtitle, and caption with default styles
It'due south a proficient commencement, simply what if you want to add together styles ? Permit's see how to color the championship, bold the subtitle, and italicize the caption:
ggplot(data, aes(x = quarter, y = profit)) + geom_col(fill = "#0099f9") + labs( championship = "Quarterly Profit (in million U.Due south. dollars)", subtitle = "A simple bar chart", caption = "Source: ImaginaryCo" ) + theme( plot.title = element_text(color = "#0099f9", size = 20), plot.subtitle = element_text(face = "assuming"), plot.caption = element_text(confront = "italic") )

Paradigm 6 – Styling title, subtitle, and explanation
Let's take this a step further. Here's how to marshal the championship to the middle, subtitle to the right, and explanation to the left:
ggplot(data, aes(x = quarter, y = profit)) + geom_col(fill = "#0099f9") + labs( title = "Quarterly Turn a profit (in million U.Southward. dollars)", subtitle = "A simple bar chart", caption = "Source: ImaginaryCo" ) + theme( plot.title = element_text(hjust = 0.5), plot.subtitle = element_text(hjust = one), plot.caption = element_text(hjust = 0) )

Image 7 – Aligning title, subtitle, and explanation
You lot've learned how to add a nicely-formatted title, but the default centrality labels nevertheless holds your visualization dorsum. You'll acquire how to change them next.
Axis Labels
Long story short – it works identically every bit with titles and subtitles. The labs()
layer takes in values for both 10 and Y-axis labels.
Here's how to alter the text:
ggplot(information, aes(ten = quarter, y = profit)) + geom_col(fill = "#0099f9") + labs( x = "Quarter of 2020", y = "Profit in 2020" )
Image 8 – Irresolute X and Y axis labels
You can change the styles the same way y'all did with titles, subtitles, and captions. The post-obit code snippet will make your ten-centrality characterization blue and bold, and y-axis label italic:
ggplot(information, aes(x = quarter, y = profit)) + geom_col(fill = "#0099f9") + labs( ten = "Quarter of 2020", y = "Profit in 2020" ) + theme( axis.title.10 = element_text(color = "#0099f9", size = 15, face = "bold"), centrality.title.y = element_text(size = xv, face = "italic") )
Image 9 – Changing stylings of 10 and Y axis labels
And that does it for changing the basic visuals. You'll acquire how to work with unlike bar charts next – stacked, grouped, and horizontal.
Stacked, Grouped, and Horizontal Bar Charts
The ggplot2
parcel uses stacked bar charts by default. Stacked bar charts are best used when all portions are colored differently.
To change the coloring, you simply demand to change the fill
value in the data layer. Here'south an example:
ggplot(information, aes(x = quarter, y = profit, fill up = product)) + geom_col()
Image ten – Default stacked bar nautical chart
In that location's a visible distinction between products, and you can now meet how much profit each production made quarterly.
There are two ways to change each portion's color:
- Manually – by specifying a vector of color names or color hex codes
- With palettes – by using congenital-in color palettes
Let's cover the manual approach get-go. You lot accept to add a layer with scale_fill_manual
:
ggplot(data, aes(x = quarter, y = profit, fill up = product)) + geom_col() + scale_fill_manual(values = c("#69c6ff", "#0099f9"))

Prototype 11 – Stacked bar nautical chart with custom colors
Palettes are a bit easier because you don't need to know exact color values. For the same reason, it can too exist considered as a limitation. Here's a list of born palettes. The scale_fill_brewer
layer is used to work with palettes:
ggplot(data, aes(x = quarter, y = profit, fill = production)) + geom_col() + scale_fill_brewer(palette = "Set1")
Image 12 – Stacked bar chart colored with a built-in palette
Onto the grouped bar charts now. They display bars corresponding to a group next to each other instead of on top of each other. To employ grouped bar charts, you need to put position = position_dodge()
into a geom_bar
layer:
ggplot(data, aes(10 = quarter, y = turn a profit, fill = product)) + geom_col(position = position_dodge())
Image 13 – Grouped bar chart (default)
Yous can change the coloring the same mode yous did with stacked bar charts – through the scale_fill_manual
or scale_fill_brewer
layers. Here's an instance:
ggplot(data, aes(x = quarter, y = turn a profit, fill = product)) + geom_col(position = position_dodge()) + scale_fill_manual(values = c("#3db5ff", "#0099f9"))
Image 14 – Grouped bar nautical chart with custom colors
Finally, let'south cover horizontal bar charts . They are useful when there are many categories on the x-centrality or when their names are long. The coord_flip()
is used to turn any vertical bar chart into a horizontal 1:
ggplot(data, aes(x = quarter, y = turn a profit)) + geom_col(fill = "#0099f9") + coord_flip()

Prototype 15 – Horizontal bar chart (default)
You lot can employ the scale_fill_manual
or scale_fill_brewer
layers to change the color. Hither's an example:
ggplot(information, aes(x = quarter, y = profit, fill = production)) + geom_col(position = position_dodge()) + scale_fill_manual(values = c("#3db5ff", "#0099f9")) + coord_flip()

Prototype 16 – Horizontal bar chart with custom colors
Now you know how to make every type of bar chart – just at that place's still one thing you tin ameliorate. Allow's see what that is in the next section.
Labels
Bar charts tin can be hard to await at. Knowing the exact value is ofttimes a requirement. If the y-axis is on a scale of millions, reading values from a chart becomes an approximation (at best). That's where labels come up in.
Y'all tin can put text somewhere near the meridian of each bar to testify the verbal value. That solves the problem of reading values from the chart. It also makes it more user-friendly, as you don't have to divert your view to the y-axis constantly.
Y'all'll larn how to put labels on top of bars. For the first case, you'll demand to filter the dataset so but product A is shown. The reason is simple – ggplot2
uses stacked bar charts by default, and in that location are two products in the stack for each quarter. You'll learn how to add labels for multiple stacks later, but let's first with the basics.
Here's the code:
library(dplyr) data_a <- data %>% filter(production == "A") ggplot(data_a, aes(x = quarter, y = profit)) + geom_col(fill up = "#0099f9") + geom_text(aes(label = profit), vjust = -0.5, size = 5)
Image 17 – Labels on top of bars
Only what if you lot want to put the labels inside? Only play with vjust
a bit. Setting it to 2 does the play a trick on:
ggplot(data_a, aes(10 = quarter, y = profit)) + geom_col(fill = "#0099f9") + geom_text(aes(characterization = profit), vjust = 2, size = 5, color = "#ffffff")

Paradigm xviii – Labels inside the bars
Things get a bit trickier if you need labels for multiple stacks. You have to specify position = position_stack()
inside the geom_text
layer. Setting the vjust
to 0.five makes them centered:
ggplot(data, aes(x = quarter, y = profit, make full = product, characterization = turn a profit)) + geom_col() + scale_fill_manual(values = c("#3db5ff", "#0099f9")) + geom_text(position = position_stack(vjust = 0.5), size = 4, color = "#ffffff")
Epitome nineteen – Labels inside the stacked bar chart
At that place's an culling for a grouped bar chart. You'll have to specify position = position_dodge()
for it to piece of work. This lawmaking centers the labels inside every group:
ggplot(data, aes(10 = quarter, y = turn a profit, fill = production)) + geom_col(position = position_dodge()) + scale_fill_manual(values = c("#3db5ff", "#0099f9")) + geom_text(aes(label = profit), position = position_dodge(0.nine), vjust = ii, size = iv, color = "#ffffff")

Image 20 – Labels centered inside the grouped bar chart
And that'southward all in that location is about labels and bar charts. Permit'south wrap things upwardly next.
Conclusion
Today you've learned how to make every blazon of bar chart in R and how to customize it with colors, titles, subtitles, and labels. You're now able to use bar charts for basic visualizations, reports, and dashboards.
You lot can look more basic R tutorials weekly (probably Sunday) and more avant-garde tutorials throughout the week. Fill out the subscribe grade below so you never miss an update.
Are yous completely new to R? Cheque out our detailed R guide for programmers.
Larn how to include bar charts to interactive dashboards:
- How Our Projection Leader Built Her First Shiny Dashboard with No R Feel
- A crash class in R Shiny UI
- How to translate R Shiny dashboards
- How to make R Shiny faster
- How to scale R Shiny dashboards
Appsilon is hiring! We are primarily seeking an Engineering Manager who can lead a team of vi-8 ambitious software engineers. Meet our Careers folio for all new openings, including openings for a Project Manager and Customs Director .
How To Add Italics To Title In Ggplot,
Source: https://appsilon.com/ggplot2-bar-charts/
Posted by: mccollisteraloortat.blogspot.com
0 Response to "How To Add Italics To Title In Ggplot"
Post a Comment