Analyzing Higher Education Graduates in 2022 with Employment Rate Statistics and Graphs (feat. Python)

How can data make graduate employment rate statistics easier to understand? Employment rate statistics are an important indicator of the health of the labor market, and in 2022, the employment rate for graduates of higher education institutions was 69.61 TP3T, an increase of 1.91 TP3Tp year-on-year.
In this post, we'll show you how to visually analyze graduate employment trends, with a focus on employment rate statistics and employment rate graphs. Pythonand graph visualizations, making it easy for anyone to follow along.
What are employment rate statistics?
The employment rate statistic is a measure of the employment status of a specific population, such as graduates. For example, for post-secondary graduates in 2022, out of 558,039 graduates, 479,573 are eligible for employment and 333,909 are actually employed. This yields an employment rate of 69.61 TP3T.

The employment rate is calculated by the following formula
Employment rate = (number of people employed / number of people eligible for employment) × 100 These statistics play an important role in graduates' career decisions, changes in the labor market, and education policy formulation.
Graphing Employment Rates with Python
Python makes it easy to visualize employment rate statistics. Below is code that utilizes employment rate statistics to plot a graph with a bar graph and circular highlighting.
import matplotlib.pyplot as plt
from matplotlib.patches import Circle
Set up the # data
graduates = 558039
job_seekers = 479573
employed = 333909
employment_rate = 69.6
increase_rate = 1.9
Create a # canvas
fig, ax = plt.subplots(figsize=(8, 6))
ax.set_xlim(0, 10)
ax.set_ylim(0, 8)
ax.axis('off') hide # axis
# bar graph style data
bar_data = [
{"label": f"Graduates {graduates:,}", "value": 10, "color": "#88CCEE"},
{"label": f"Job Seekers {job_seekers:,}", "value": 8.5, "color": "#44AA99"},
{"label": "#44AA99"}, {"label". f"Employed {employed:,}", "value": 6, "color": "#FF6F61"},
]
Draw a # bar
for i, bar in enumerate(bar_data):
ax.barh(y=7 - i * 1.5, width=bar["value"], height=0.8, color=bar["color"], edgecolor="black")
ax.text(bar["value"] + 0.2, 7 - i * 1.5, bar["label"], va="center", fontsize=12)
# Highlight text
ax.text(2, 2.2, "2022 Higher Education Graduates Employment Rate", fontsize=16, weight="bold")
ax.text(2, 1.5, f"{employment_rate:.1f}%", fontsize=30, color="#FF6F61", weight="bold")
ax.text(2, 1.0, f"Year-on-Year Increase: {increase_rate:.1f}p", fontsize=12, color="gray")
Draw a # circle highlight
circle_center = (8, 3.5)
circle_colors = ["#FF6F61", "#FFB5A1", "#FFD2C7"]
for i, color in enumerate(circle_colors):
circle = Circle(circle_center, radius=0.8 + i * 0.3, edgecolor=color, facecolor="none", lw=2)
ax.add_patch(circle)
# survey base date text
ax.text(2, 0.5, "Based on Survey Date: 2022-12-31", fontsize=10, color="gray")
Output the # plot
plt.tight_layout()
plt.show()
Code briefs
- Data settings
- Set the number of graduates, the number of people eligible for employment, and the number of people employed. Add the employment rate and year-over-year growth rate as text as well.
- Create a canvas
matplotlibTheplt.subplotsto create the graph area. The X and Y axes are hidden for better readability.
- Draw a bar graph
- Set each bar to
ax.barhto draw,labelto display the details as text.
- Set each bar to
- Highlighting text
- Added highlight text centered on the employment rate (69.6%).
weight="bold"to make key numbers stand out.
- Added highlight text centered on the employment rate (69.6%).
- Add circular highlighting
matplotlib.patches.Circleto draw a circular highlight around the employment rate.
- Add a research base date
- At the bottom, you'll see the survey base date (
2022-12-31) We've added text.
- At the bottom, you'll see the survey base date (

Insights from the Employment Rate graph
This graph provides an intuitive view of the percentage of graduates, job seekers, and employed people. In particular, the employment rate (69.61 TP3T) and year-over-year growth (1.91 TP3T) show a positive labor market trend.
Finalize
In this post, we introduced how to analyze data using unemployment rate statistics and unemployment rate graphs. By implementing visualizations in Python, we were able to communicate the data effectively. You can apply this code to analyze a variety of data and draw insights!
By the way, there's a lot of interest in college rankings along with employment rates, right? Visualizing the World University Rankings in 2025 (Python Data Visualization) Check out the post to find out!
# Code Explained in Detail
1. import the library
import matplotlib.pyplot as plt from matplotlib.patches import Circle
matplotlib.pyplotPython's data visualization library, used to generate graphs or plots.matplotlib.patches.CircleGets a class for adding circular highlighting to a graph.2. Set up your data
graduates = 558039 job_seekers = 479573 employed = 333909 employment_rate = 69.6 increase_rate = 1.9
graduates: Stores the number of post-secondary graduates (558,039).job_seekers: Stores the number of graduates (479,573) who are categorized as employable.employed: Stores the number of graduates who actually got jobs (333,909).employment_rate: Employment rate (69.6%).increase_rate: The year-over-year increase in the employment rate (1.91 TP3Tp).3. create a canvas
fig, ax = plt.subplots(figsize=(8, 6)) ax.set_xlim(0, 10) ax.set_ylim(0, 8) ax.axis('off') hide # axis
fig, ax = plt.subplots(): Creates a canvas for drawing the graph.
figsize=(8, 6): Set the graph size to 8 inches wide and 6 inches tall.set_xlimandset_ylim: Sets the range for the X-axis (0,10) and Y-axis (,08).ax.axis('off'): Hide axes to make the graph look cleaner.4. Set up your bar graph data
bar_data = [ {"label": f"Graduates {graduates:,}", "value": 10, "color": "#88CCEE"}, {"label": f"Job Seekers {job_seekers:,}", "value": 8.5, "color": "#44AA99"}, {"label": "#44AA99"}, {"label". f"Employed {employed:,}", "value": 6, "color": "#FF6F61"}, ]
bar_data: Stores the data to be displayed in the bar graph as a list.
label: Text to be displayed in each bar (formatted as commas with numbers).value: The value that determines the length of the bar.color: Indicates the color of the bar.5. draw a bar
for i, bar in enumerate(bar_data): ax.barh(y=7 - i * 1.5, width=bar["value"], height=0.8, color=bar["color"], edgecolor="black") ax.text(bar["value"] + 0.2, 7 - i * 1.5, bar["label"], va="center", fontsize=12)
for i, bar in enumerate(bar_data):bar_dataIterate over each item in the list.
y=7 - i * 1.5: Sets the position of the bars on the Y-axis (inter-bar spacing: 1.5).width=bar["value"]: Sets the length of the bar based on the data value.height=0.8Sets the thickness of the bar.color=bar["color"]: Sets the color of the bar.edgecolor="black": Set the border color of the bar to black.ax.text: Adds text to the right of each bar.
bar["label"]: text content.va="center": Aligns the text to the vertical center of the bar.6. highlight text
ax.text(2, 2.2, "2022 Higher Education Graduates Employment Rate", fontsize=16, weight="bold") ax.text(2, 1.5, f"{employment_rate:.1f}%", fontsize=30, color="#FF6F61", weight="bold") ax.text(2, 1.0, f"Year-on-Year Increase: {increase_rate:.1f}p", fontsize=12, color="gray")
ax.text(x, y, text): Adds text to the graph.
- First text: Graph title. Position is (2, 2.2), bold (
weight="bold").- Second textHighlight: Employment rate (69.6%). Font size 30, highlighted in red.
- Third text: Added year-over-year growth rate (1.91 TP3Tp) in gray text.
7. add a circular highlight
circle_center = (8, 3.5) circle_colors = ["#FF6F61", "#FFB5A1", "#FFD2C7"] for i, color in enumerate(circle_colors): circle = Circle(circle_center, radius=0.8 + i * 0.3, edgecolor=color, facecolor="none", lw=2) ax.add_patch(circle)
circle_centerSets the center coordinates of the circular highlight.circle_colors: A list of colors for the circular highlight.for i, color in enumerate(circle_colors): Loop through the list of colors to draw a circle.
radius=0.8 + i * 0.3: Sets the radius of the circle to gradually increase.edgecolor=color: Border color of the circle.facecolor="none": Empty the inside of the circle and make it transparent.ax.add_patch(circle): Adds the circle you created to the graph.8. add a research base date
ax.text(2, 0.5, "Based on Survey Date: 2022-12-31", fontsize=10, color="gray")
ax.text: Adds the survey base date as text at the bottom of the graph.fontsize=10: Use a small font size to provide additional information.9. Output the plot
plt.tight_layout() plt.show()
plt.tight_layout()Automatically adjusts spacing so that elements within the graph do not overlap each other.plt.show(): Displays the generated graph on the screen.






