Back to Blog

ggplot2 in r tutorial
Data Science

Ggplot2 Function Cheat Sheet and R Tutorial

6 minute read | January 15, 2019
Fedor Karmanov

Written by:
Fedor Karmanov

Ready to launch your career?

The ggplot2 package, created by Hadley Wickham, provides a fast and efficient way to produce good-looking data visualizations that you can use to derive and communicate insights from your data sets. The package was designed to help you create all different types of data graphics in R, including histograms, scatter plots, bar charts, box plots, and density plots. This textbook has numerous examples of visualizations you can build in ggplot2.

The ggplot2 package offers a powerful graphics language for creating elegant and complex plots. Originally based on Leland Wilkinson’s The Grammar of Graphics, ggplot2 allows you to create graphs that represent both univariate and multivariate numerical and categorical data in a straightforward manner. Grouping can be represented by color, symbol, size, and transparency. The creation of trellis plots (i.e., conditioning), graphs that show relationships between different variables, is relatively simple.

In recent years, ggplot2’s popularity has grown exponentially. Due to its popularity, the functionalities built into this package have increased — which might be overwhelming for someone getting started with ggplot2. So I created this ggplot2 tutorial and cheatsheet to help you learn the basic functionalities of ggplot2.

This is a quick ggplot2 tutorial through the basics of ggplot2 — enough so that you can create beautiful visualizations in R.

You can use it as an extremely handy reference, or cheat-sheet, if you have just started your data science journey with ggplot2 in R, you can use it to help guide you to what you need to get done if you’re looking to create a specific data visualization in R.

ggplot2 Cheat Sheet of Essential Functions

ggplot2 Cheat Sheet

Here is a downloadable version as a PDF in case you want to have it handy with you as you navigate ggplot2 and data visualization in R.

Get To Know Other Data Science Students

Jonah Winninghoff

Jonah Winninghoff

Statistician at Rochester Institute Of Technology

Read Story

Haotian Wu

Haotian Wu

Data Scientist at RepTrak

Read Story

Jonathan King

Jonathan King

Sr. Healthcare Analyst at IBM

Read Story

ggplot2 R Tutorial: Bar Charts

The Github repository containing all of the code in this ggplot2 in R tutorial can be found here.

When I get my hands on a new dataset, I often want to take a quick look at the shape of the data and at preliminary results before developing my research any further. While many tutorials offer easy ways of plotting data in one way or another, few tutorials lead you through the first steps of data exploration in R. This ggplot2 in R tutorial will help you make sense of large datasets and gives you a framework to do some exploratory graphing of your own.

Related19 Free Public Data Sets for Your Project

This ggplot2 in R tutorial assumes that you have already installed R, an IDE of your choice (I use RStudio), as well as the ggplot2 package. All these programs and packages are easy to access and free to install, so if you don’t have them already, you can use this guide to figure out how to get started. Jupyter with R is the most intuitive way to start with R if you don’t have anything installed. You can install ggplot2 and other libraries using the install.packages command in R

For the rest of the tutorial, I will be working on a sample dataset obtained from The Metropolitan Museum of Art in New York City. This dataset contains a set of metadata for all the artworks housed in the museum’s collection, and can be found on GitHub thanks to the Met Museum’s Open Access Initiative.  

First things first: make sure you have installed your libraries. Insert the following lines of code on the top. 




You shouldn’t get any errors after running the code above if ggplot2 has been installed correctly.

Now, lets read in the Metropolitan dataset, which is a raw CSV file.

met.collection <- read.csv(file=”~/Documents/Springboard-Blog/Springboard-Blog-Tutorials/data/MetObjects.csv”)

Make sure you change the file path here to whatever it is on your computer! Here’s a quick guide to how to import CSVs into R. You may also have to work with git-lfs, Github’s large file system management system to get the CSV file we’re working with, as it exceeds 200mb in file size. Here’s a short tutorial on that. 

After R has ingested the table (it may take a while!), we can move to one of my favorite R functions: summary()!


Summary is a great function because it looks at every column in your dataset and returns an insightful set of statistics about it. If the column is made of numeric values, it will return the average and standard deviation across the column’s values.

If your data is composed of strings (such as in our case), summary returns the count of unique strings within a column. The summary() function makes for a great first step for any exploratory data analysis using R.

I decided to use the summary() function to narrow where I should explore the data — the dataset has 43 columns in total!

This analysis got me to three interesting columns: which countries artists are from (their nationality), which cities they are from, and a column that collected the number of artworks associated with a particular artist. While a lot of the top-scoring values are obvious –the Met Collection is an American museum after all–some of the more interesting values are found in other columns, such as “City.” Paris, for instance, is the top-scoring city for artworks across the whole collection, beating New York by a fairly wide margin, which suggests that Paris is a particularly great place to meet talented artists.

Exploratory graphs of three of these four categories could help us find trends in the dataset that are ripe for further exploration. Let’s start with a bar plot of artists’ nationalities found in the Met Collection.

[code lang=”r” toolbar=”true” title=”Bar Plot of Artists Nationalities”]nationality <-data.frame(table(met.collection$Artist.Nationality))
nationality <- nationality[order(nationality$Freq, rank(nationality$Freq), decreasing = TRUE), ]

df <- nationality[2:11, ]
ggplot(df, aes(x = Var1, y = Freq)) +
geom_bar(stat = “identity”, color = “black”, fill = “grey”) +
labs(title = “Frequency by Country\n”, x = “\nCountry”, y = “Frequency\n”) +
theme_classic() +
theme(axis.text.x = element_text(angle = 90, hjust = 1))

The above code creates a frequency table of all elements found in the “Artist.Nationality” column in the dataframe, and then orders it in descending order. I then grab the top ten occurring terms and plot them as a bar graph, reversing the axis labels to make them readable.

The resulting graph, found below, indicates several things: 1) The Met Collection is primarily an American collection,with some affinity for French artists; 2) the Nationality labels need to be cleaned so that the results can be more easily read, especially duplicate labels.

Let’s see if we can add nuance to the nationality data above by looking at the most popular cities of origin for the Met Collection Archives:

[code lang=”r” toolbar=”true” title=”Bar Plot of Artists Cities”]
city <- data.frame(table(met.collection$City))
city <- city[order(city$Freq,-rank(city$Freq), decreasing = TRUE), ]

df <- city[2:11, ]
ggplot(df, aes(x = Var1, y = Freq)) +
geom_bar(stat = “identity”, color = “black”, fill = “grey”) +
labs(title = “Frequency by City\n”, x = “\nCountry”, y = “Frequency\n”) +
theme_classic() +
theme(axis.text.x = element_text(angle = 90, hjust = 1))

Wow! Paris really does a number on New York and London. Venice, usually the most disproportionate source of visual art in the world is lagging far behind the big culture capitals.

Finally, after all of this geographic analysis, it might be worth knowing what time-frame or period predominates the Met Collection.:

[code lang=”r” toolbar=”true” title=”Bar Plot of Art Timeframes”]
date <- data.frame(table(met.collection$Object.Date))
date <- date[order(date$Freq,-rank(date$Freq), decreasing = TRUE), ]

df <- date[3:11, ]
ggplot(df, aes(x = Var1, y = Freq)) +
geom_bar(stat = “identity”, color = “black”, fill = “grey”) +
labs(title = “Frequency by Date\n”, x = “\nCountry”, y = “Frequency\n”) +
theme_classic() +
theme(axis.text.x = element_text(angle = 90, hjust = 1))

The code above produces the plot below. The Met is primarily composed of 19th and 18th century artworks, coming either from America or from Europe (most coming from France or Italy). There seems to be a passing interest in art from ancient Egypt or Greece, but not much else by way of non-classical European artworks.

Proper data visualization is essential in the field of data science. Through the use of R’s summary function and the ggplot2 library, we’ve started breaking down a large data set and looked for various insights in this ggplot2 in R tutorial. That work is never finished in a proper data analysis: we urge you to take this ggplot2 in R tutorial and use it to break down insights you’d like to see. Furthermore,ggplot2 is quickly becoming a popular data visualization package among data scientists and data analysts.

Companies are no longer just collecting data. They’re seeking to use it to outpace competitors, especially with the rise of AI and advanced analytics techniques. Between organizations and these techniques are the data scientists – the experts who crunch numbers and translate them into actionable strategies. The future, it seems, belongs to those who can decipher the story hidden within the data, making the role of data scientists more important than ever.

In this article, we’ll look at 13 careers in data science, analyzing the roles and responsibilities and how to land that specific job in the best way. Whether you’re more drawn out to the creative side or interested in the strategy planning part of data architecture, there’s a niche for you. 

Is Data Science A Good Career?

Yes. Besides being a field that comes with competitive salaries, the demand for data scientists continues to increase as they have an enormous impact on their organizations. It’s an interdisciplinary field that keeps the work varied and interesting.

10 Data Science Careers To Consider

Whether you want to change careers or land your first job in the field, here are 13 of the most lucrative data science careers to consider.

Data Scientist

Data scientists represent the foundation of the data science department. At the core of their role is the ability to analyze and interpret complex digital data, such as usage statistics, sales figures, logistics, or market research – all depending on the field they operate in.

They combine their computer science, statistics, and mathematics expertise to process and model data, then interpret the outcomes to create actionable plans for companies. 

General Requirements

A data scientist’s career starts with a solid mathematical foundation, whether it’s interpreting the results of an A/B test or optimizing a marketing campaign. Data scientists should have programming expertise (primarily in Python and R) and strong data manipulation skills. 

Although a university degree is not always required beyond their on-the-job experience, data scientists need a bunch of data science courses and certifications that demonstrate their expertise and willingness to learn.

Average Salary

The average salary of a data scientist in the US is $156,363 per year.

Data Analyst

A data analyst explores the nitty-gritty of data to uncover patterns, trends, and insights that are not always immediately apparent. They collect, process, and perform statistical analysis on large datasets and translate numbers and data to inform business decisions.

A typical day in their life can involve using tools like Excel or SQL and more advanced reporting tools like Power BI or Tableau to create dashboards and reports or visualize data for stakeholders. With that in mind, they have a unique skill set that allows them to act as a bridge between an organization’s technical and business sides.

General Requirements

To become a data analyst, you should have basic programming skills and proficiency in several data analysis tools. A lot of data analysts turn to specialized courses or data science bootcamps to acquire these skills. 

For example, Coursera offers courses like Google’s Data Analytics Professional Certificate or IBM’s Data Analyst Professional Certificate, which are well-regarded in the industry. A bachelor’s degree in fields like computer science, statistics, or economics is standard, but many data analysts also come from diverse backgrounds like business, finance, or even social sciences.

Average Salary

The average base salary of a data analyst is $76,892 per year.

Business Analyst

Business analysts often have an essential role in an organization, driving change and improvement. That’s because their main role is to understand business challenges and needs and translate them into solutions through data analysis, process improvement, or resource allocation. 

A typical day as a business analyst involves conducting market analysis, assessing business processes, or developing strategies to address areas of improvement. They use a variety of tools and methodologies, like SWOT analysis, to evaluate business models and their integration with technology.

General Requirements

Business analysts often have related degrees, such as BAs in Business Administration, Computer Science, or IT. Some roles might require or favor a master’s degree, especially in more complex industries or corporate environments.

Employers also value a business analyst’s knowledge of project management principles like Agile or Scrum and the ability to think critically and make well-informed decisions.

Average Salary

A business analyst can earn an average of $84,435 per year.

Database Administrator

The role of a database administrator is multifaceted. Their responsibilities include managing an organization’s database servers and application tools. 

A DBA manages, backs up, and secures the data, making sure the database is available to all the necessary users and is performing correctly. They are also responsible for setting up user accounts and regulating access to the database. DBAs need to stay updated with the latest trends in database management and seek ways to improve database performance and capacity. As such, they collaborate closely with IT and database programmers.

General Requirements

Becoming a database administrator typically requires a solid educational foundation, such as a BA degree in data science-related fields. Nonetheless, it’s not all about the degree because real-world skills matter a lot. Aspiring database administrators should learn database languages, with SQL being the key player. They should also get their hands dirty with popular database systems like Oracle and Microsoft SQL Server. 

Average Salary

Database administrators earn an average salary of $77,391 annually.

Data Engineer

Successful data engineers construct and maintain the infrastructure that allows the data to flow seamlessly. Besides understanding data ecosystems on the day-to-day, they build and oversee the pipelines that gather data from various sources so as to make data more accessible for those who need to analyze it (e.g., data analysts).

General Requirements

Data engineering is a role that demands not just technical expertise in tools like SQL, Python, and Hadoop but also a creative problem-solving approach to tackle the complex challenges of managing massive amounts of data efficiently. 

Usually, employers look for credentials like university degrees or advanced data science courses and bootcamps.

Average Salary

Data engineers earn a whooping average salary of $125,180 per year.

Database Architect

A database architect’s main responsibility involves designing the entire blueprint of a data management system, much like an architect who sketches the plan for a building. They lay down the groundwork for an efficient and scalable data infrastructure. 

Their day-to-day work is a fascinating mix of big-picture thinking and intricate detail management. They decide how to store, consume, integrate, and manage data by different business systems.

General Requirements

If you’re aiming to excel as a database architect but don’t necessarily want to pursue a degree, you could start honing your technical skills. Become proficient in database systems like MySQL or Oracle, and learn data modeling tools like ERwin. Don’t forget programming languages – SQL, Python, or Java. 

If you want to take it one step further, pursue a credential like the Certified Data Management Professional (CDMP) or the Data Science Bootcamp by Springboard.

Average Salary

Data architecture is a very lucrative career. A database architect can earn an average of $165,383 per year.

Machine Learning Engineer

A machine learning engineer experiments with various machine learning models and algorithms, fine-tuning them for specific tasks like image recognition, natural language processing, or predictive analytics. Machine learning engineers also collaborate closely with data scientists and analysts to understand the requirements and limitations of data and translate these insights into solutions. 

General Requirements

As a rule of thumb, machine learning engineers must be proficient in programming languages like Python or Java, and be familiar with machine learning frameworks like TensorFlow or PyTorch. To successfully pursue this career, you can either choose to undergo a degree or enroll in courses and follow a self-study approach.

Average Salary

Depending heavily on the company’s size, machine learning engineers can earn between $125K and $187K per year, one of the highest-paying AI careers.

Quantitative Analyst

Qualitative analysts are essential for financial institutions, where they apply mathematical and statistical methods to analyze financial markets and assess risks. They are the brains behind complex models that predict market trends, evaluate investment strategies, and assist in making informed financial decisions. 

They often deal with derivatives pricing, algorithmic trading, and risk management strategies, requiring a deep understanding of both finance and mathematics.

General Requirements

This data science role demands strong analytical skills, proficiency in mathematics and statistics, and a good grasp of financial theory. It always helps if you come from a finance-related background. 

Average Salary

A quantitative analyst earns an average of $173,307 per year.

Data Mining Specialist

A data mining specialist uses their statistics and machine learning expertise to reveal patterns and insights that can solve problems. They swift through huge amounts of data, applying algorithms and data mining techniques to identify correlations and anomalies. In addition to these, data mining specialists are also essential for organizations to predict future trends and behaviors.

General Requirements

If you want to land a career in data mining, you should possess a degree or have a solid background in computer science, statistics, or a related field. 

Average Salary

Data mining specialists earn $109,023 per year.

Data Visualisation Engineer

Data visualisation engineers specialize in transforming data into visually appealing graphical representations, much like a data storyteller. A big part of their day involves working with data analysts and business teams to understand the data’s context. 

General Requirements

Data visualization engineers need a strong foundation in data analysis and be proficient in programming languages often used in data visualization, such as JavaScript, Python, or R. A valuable addition to their already-existing experience is a bit of expertise in design principles to allow them to create visualizations.

Average Salary

The average annual pay of a data visualization engineer is $103,031.

Resources To Find Data Science Jobs

The key to finding a good data science job is knowing where to look without procrastinating. To make sure you leverage the right platforms, read on.

Job Boards

When hunting for data science jobs, both niche job boards and general ones can be treasure troves of opportunity. 

Niche boards are created specifically for data science and related fields, offering listings that cut through the noise of broader job markets. Meanwhile, general job boards can have hidden gems and opportunities.

Online Communities

Spend time on platforms like Slack, Discord, GitHub, or IndieHackers, as they are a space to share knowledge, collaborate on projects, and find job openings posted by community members.

Network And LinkedIn

Don’t forget about socials like LinkedIn or Twitter. The LinkedIn Jobs section, in particular, is a useful resource, offering a wide range of opportunities and the ability to directly reach out to hiring managers or apply for positions. Just make sure not to apply through the “Easy Apply” options, as you’ll be competing with thousands of applicants who bring nothing unique to the table.

FAQs about Data Science Careers

We answer your most frequently asked questions.

Do I Need A Degree For Data Science?

A degree is not a set-in-stone requirement to become a data scientist. It’s true many data scientists hold a BA’s or MA’s degree, but these just provide foundational knowledge. It’s up to you to pursue further education through courses or bootcamps or work on projects that enhance your expertise. What matters most is your ability to demonstrate proficiency in data science concepts and tools.

Does Data Science Need Coding?

Yes. Coding is essential for data manipulation and analysis, especially knowledge of programming languages like Python and R.

Is Data Science A Lot Of Math?

It depends on the career you want to pursue. Data science involves quite a lot of math, particularly in areas like statistics, probability, and linear algebra.

What Skills Do You Need To Land an Entry-Level Data Science Position?

To land an entry-level job in data science, you should be proficient in several areas. As mentioned above, knowledge of programming languages is essential, and you should also have a good understanding of statistical analysis and machine learning. Soft skills are equally valuable, so make sure you’re acing problem-solving, critical thinking, and effective communication.

Since you’re here…Are you interested in this career track? Investigate with our free guide to what a data professional actually does. When you’re ready to build a CV that will make hiring managers melt, join our Data Science Bootcamp which will help you land a job or your tuition back!