مرکزی مواد پر جائیں
eLearner.app
ماڈیول 5 · سبق 2 از 2کورس میں 10/10~15 min
ماڈیول اسباق (2/2)

حسب ضرورت اور پہلو

Beyond defining geometries and aesthetics, ggplot2 allows you to completely customize the visual look of a plot by adding titles, modifying themes, and faceting (splitting plots into sub-panels).


Titles and Labels: labs()

To add a main title, subtitles, and customize axis labels or legend titles, we add the labs() layer:

Code
ggplot(df, aes(x = age, y = income)) +
  geom_point() +
  labs(
    title = "Income by Age",
    subtitle = "2026 census data",
    x = "Age (years)",
    y = "Annual Income (EUR)",
    color = "Gender"
  )

Visual Themes: theme_*()

ggplot2 includes several pre-packaged themes that change backgrounds, grid lines, and typography. Some of the most common ones are:

  • theme_gray() (the default theme with a light gray background).
  • theme_minimal() (a clean white background with thin grid lines).
  • theme_classic() (a simple classic style, with no background grid lines).
Code
ggplot(df, aes(x = age, y = income)) +
  geom_point() +
  theme_minimal()  # Applies a clean, modern style

Splitting Plots into Sub-panels: facet_wrap()

Faceting allows you to split a single plot into multiple subplots (panels) side-by-side based on the value of a categorical variable.

The primary function is facet_wrap() and uses R formula notation (~ variable_name):

Code
# Creates a separate subplot for each department
ggplot(df, aes(x = age, y = income)) +
  geom_point() +
  facet_wrap(~ department)

Try it yourself

Exercise 1: Add titles and axes

ورزش#r.m5.l2.e1
کوششیں: 0لوڈ ہو رہا ہے…

Given the scatter plot, add a labs() layer setting the title (title) to 'Title', the x-axis label to 'Age', and the y-axis label to 'Income'.

ایڈیٹر لوڈ ہو رہا ہے…
اشارہ دکھائیں۔

Use labs(title = 'Title', x = 'Age', y = 'Income') concatenating it with '+'.

3 کوششوں کے بعد حل دستیاب ہے۔

Exercise 2: Apply a clean theme

ورزش#r.m5.l2.e2
کوششیں: 0لوڈ ہو رہا ہے…

Apply the theme_minimal() graphic theme to the scatter plot below to improve its visual aesthetics.

ایڈیٹر لوڈ ہو رہا ہے…
اشارہ دکھائیں۔

Use the '+' sign and add the theme_minimal() function.

3 کوششوں کے بعد حل دستیاب ہے۔

Exercise 3: Split the plot with facet_wrap

ورزش#r.m5.l2.e3
کوششیں: 0لوڈ ہو رہا ہے…

Use the facet_wrap() function to split the scatter plot into different panels based on the department column.

ایڈیٹر لوڈ ہو رہا ہے…
اشارہ دکھائیں۔

Use facet_wrap(~ department) to split the plot.

3 کوششوں کے بعد حل دستیاب ہے۔

Exercise 4: Flip coordinate axes

ورزش#r.m5.l2.e4
کوششیں: 0لوڈ ہو رہا ہے…

To make a column chart with many categories readable, you can flip the x and y axes. Add the coord_flip() layer to the bar chart.

ایڈیٹر لوڈ ہو رہا ہے…
اشارہ دکھائیں۔

Usa coord_flip() legandolo alla pipeline ggplot con '+'.

3 کوششوں کے بعد حل دستیاب ہے۔

Exercise 5: Complete publication-ready plot

ورزش#r.m5.l2.e5
کوششیں: 0لوڈ ہو رہا ہے…

Create a complete plot on df: map age to x, income to y, and color to gender inside geom_point(). Split the plot using facet_wrap() by department, add labs() with title 'Salary by Age', and finally apply theme_minimal().

ایڈیٹر لوڈ ہو رہا ہے…
اشارہ دکھائیں۔

Combine all layers using '+': ggplot(...) + geom_point() + facet_wrap(~ department) + labs(title = 'Salary by Age') + theme_minimal()

3 کوششوں کے بعد حل دستیاب ہے۔