# 1. Memanggil package dan data
library(ggplot2)
library(MASS)
data("birthwt")
# 2. Menghitung statistik deskriptif
n_data <- sum(!is.na(birthwt$bwt))
median_bwt <- median(birthwt$bwt, na.rm = TRUE)
q1 <- quantile(birthwt$bwt, 0.25, na.rm = TRUE)
q3 <- quantile(birthwt$bwt, 0.75, na.rm = TRUE)
# 3. Membuat keterangan statistik
keterangan <- paste0(
"n = ", n_data,
" | Median = ", median_bwt, " gram",
" | IQR = ", q1, "–", q3, " gram"
)
# 4. Membuat grafik yang diperbaiki
ggplot(birthwt, aes(x = bwt, y = "Berat lahir bayi")) +
geom_violin(
fill = "#75B9AD",
color = "#367C73",
alpha = 0.85,
trim = TRUE,
linewidth = 0.7
) +
geom_boxplot(
width = 0.12,
fill = "white",
color = "#263238",
linewidth = 0.7,
outlier.shape = NA
) +
geom_point(
aes(x = median_bwt, y = "Berat lahir bayi"),
color = "#D95F59",
size = 3
) +
labs(
title = "Distribusi Berat Lahir Bayi",
subtitle = keterangan,
x = "Berat lahir (gram)",
y = NULL,
caption = paste(
"Sumber: dataset birthwt, paket MASS.",
"Titik merah menunjukkan median."
)
) +
scale_x_continuous(
breaks = seq(500, 5000, by = 500),
limits = c(500, 5000),
expand = expansion(mult = c(0.02, 0.02))
) +
theme_minimal(base_size = 12) +
theme(
plot.title = element_text(
size = 16, face = "bold", color = "#263238"
),
plot.subtitle = element_text(
size = 10, color = "#455A64"
),
axis.title.x = element_text(
face = "bold", margin = margin(t = 10)
),
axis.text = element_text(color = "#37474F"),
axis.text.y = element_blank(),
panel.grid.minor = element_blank(),
panel.grid.major.y = element_blank(),
plot.caption = element_text(
size = 9, color = "grey40", hjust = 0
),
plot.margin = margin(15, 20, 15, 15)
)## Warning in geom_point(aes(x = median_bwt, y = "Berat lahir bayi"), color = "#D95F59", : All aesthetics have length 1, but the data has 189 rows.
## ℹ Please consider using `annotate()` or provide this layer with data containing
## a single row.
Grafik awal perlu diperbaiki karena belum memiliki judul yang informatif, label sumbu Y kurang bermakna, dan informasi statistik belum disajikan secara eksplisit. Tampilan visual juga dapat ditingkatkan agar distribusi data lebih mudah dipahami.
Perbaikan dilakukan dengan menambahkan judul yang spesifik, memperjelas satuan berat lahir dalam gram, serta mencantumkan jumlah observasi, median, dan rentang antarkuartil. Warna violin dan boxplot dibedakan untuk meningkatkan kontras, sedangkan titik merah digunakan untuk menandai median. Elemen visual yang tidak diperlukan dikurangi agar grafik lebih bersih dan informatif.
Grafik memperlihatkan distribusi berat lahir bayi pada dataset birthwt. Lebar violin menunjukkan kepadatan observasi, sementara boxplot menunjukkan median dan rentang antarkuartil. Informasi statistik tambahan membantu pembaca memahami nilai pusat dan variasi berat lahir secara lebih tepat. Dengan demikian, visualisasi menyajikan informasi mengenai bentuk distribusi sekaligus ringkasan statistik data.
library(ggplot2)
library(MASS)
library(dplyr)
library(ggridges)
# MEMBUAT CONTOH DATA SIMULASI
set.seed(123)
benua <- c(
"Africa", "Asia", "Europe",
"North America", "Oceania", "South America"
)
rata2 <- c(0.55, 0.70, 0.88, 0.78, 0.75, 0.73)
simpangan <- c(0.10, 0.12, 0.06, 0.10, 0.12, 0.09)
data_ipm <- do.call(rbind, lapply(seq_along(benua), function(i) {
data.frame(
Benua = benua[i],
IPM = pmin(
1,
pmax(0.30, rnorm(30, rata2[i], simpangan[i]))
)
)
}))
data_ipm$Benua <- factor(
data_ipm$Benua,
levels = rev(benua)
)
# Melihat data
head(data_ipm)# RINGKASAN STATISTIK
ringkasan <- data_ipm %>%
group_by(Benua) %>%
summarise(
Jumlah = n(),
Median_IPM = median(IPM),
Rata_rata_IPM = mean(IPM),
.groups = "drop"
)
print(ringkasan)## # A tibble: 6 × 4
## Benua Jumlah Median_IPM Rata_rata_IPM
## <fct> <int> <dbl> <dbl>
## 1 South America 30 0.735 0.743
## 2 Oceania 30 0.719 0.728
## 3 North America 30 0.756 0.771
## 4 Europe 30 0.882 0.881
## 5 Asia 30 0.706 0.721
## 6 Africa 30 0.543 0.545
library(ggplot2)
library(MASS)
library(dplyr)
library(ggridges)
# Urutkan benua berdasarkan median IPM
urutan_benua <- data_ipm %>%
group_by(Benua) %>%
summarise(median_ipm = median(IPM), .groups = "drop") %>%
arrange(median_ipm) %>%
pull(Benua) %>%
as.character()
data_plot <- data_ipm %>%
mutate(
Benua = factor(Benua, levels = urutan_benua)
)
# Ringkasan median
label_median <- data_plot %>%
group_by(Benua) %>%
summarise(
median_ipm = median(IPM),
.groups = "drop"
) %>%
mutate(label = sprintf("%.2f", median_ipm))
# Boxplot yang diperbaiki
ggplot(data_plot, aes(x = IPM, y = Benua, fill = Benua)) +
geom_boxplot(
width = 0.55,
alpha = 0.85,
linewidth = 0.7,
color = "#34495E",
outlier.shape = NA
) +
geom_jitter(
aes(color = Benua),
height = 0.10,
width = 0,
alpha = 0.35,
size = 1.5,
show.legend = FALSE
) +
geom_text(
data = label_median,
aes(x = median_ipm, y = Benua, label = label),
inherit.aes = FALSE,
color = "#17202A",
fontface = "bold",
size = 3.3,
vjust = -1.2
) +
scale_fill_brewer(palette = "Set2") +
scale_color_brewer(palette = "Set2") +
scale_x_continuous(
breaks = seq(0.3, 1.0, by = 0.1),
limits = c(0.3, 1.0),
expand = expansion(mult = c(0.01, 0.03))
) +
labs(
title = "Perbandingan IPM Antar-Benua",
subtitle = "Median, rentang antarkuartil, dan sebaran observasi",
x = "Indeks Pembangunan Manusia (IPM)",
y = NULL,
caption = paste(
"Angka di atas kotak menunjukkan median IPM.",
"Data simulasi untuk ilustrasi."
)
) +
guides(fill = "none") +
theme_minimal(base_size = 12) +
theme(
plot.title = element_text(
face = "bold", size = 16, color = "#263238"
),
plot.subtitle = element_text(
size = 10.5, color = "#546E7A"
),
axis.text = element_text(color = "#37474F"),
axis.title.x = element_text(
face = "bold", margin = margin(t = 10)
),
panel.grid.minor = element_blank(),
panel.grid.major.y = element_blank(),
plot.caption = element_text(
size = 9, color = "grey40", hjust = 0
),
plot.margin = margin(15, 20, 12, 12)
)Grafik awal menggunakan ridgeline plot untuk menunjukkan distribusi Indeks Pembangunan Manusia (IPM) pada enam benua. Meskipun grafik tersebut dapat menggambarkan bentuk dan kepadatan distribusi, perbandingan nilai tengah dan penyebaran IPM antar-benua belum terlihat secara langsung. Bentuk kurva yang bertumpuk dan penggunaan warna yang mencolok juga dapat membuat pembaca kesulitan membandingkan karakteristik distribusi setiap benua. Oleh karena itu, grafik diubah menjadi boxplot agar informasi mengenai median, rentang antarkuartil, dan potensi pencilan dapat disajikan dengan lebih jelas.
Perbaikan dilakukan dengan mengubah grafik awal dari ridgeline plot menjadi boxplot horizontal. Pada grafik awal, bentuk kurva digunakan untuk menunjukkan kepadatan distribusi IPM, sedangkan pada grafik baru, setiap benua diwakili oleh kotak yang menggambarkan median dan rentang antarkuartil. Benua juga diurutkan berdasarkan median IPM agar perbandingan nilai tengah lebih mudah dilakukan. Selain itu, warna dibuat lebih harmonis, label median ditambahkan, dan titik observasi ditampilkan untuk memberikan gambaran mengenai penyebaran data. Judul serta label sumbu diperjelas agar informasi yang disajikan lebih mudah dipahami.
Pada grafik awal, bentuk kurva menunjukkan pola distribusi IPM pada masing-masing benua. Kurva yang lebih lebar menunjukkan rentang nilai IPM dengan kepadatan observasi lebih tinggi, sedangkan posisi kurva pada sumbu horizontal menunjukkan rentang nilai IPM yang diamati.
Setelah diubah menjadi boxplot, perbandingan distribusi IPM menjadi lebih terfokus pada nilai tengah dan penyebaran data. Garis di dalam kotak menunjukkan median, batas kotak menunjukkan kuartil pertama dan ketiga, sedangkan titik di luar whisker dapat mengindikasikan pencilan. Dengan demikian, boxplot memudahkan pembaca membandingkan median dan variasi IPM antar-benua secara ringkas. Namun, bentuk distribusi secara keseluruhan yang terlihat pada ridgeline plot tidak lagi ditampilkan sedetail sebelumnya.
Kesimpulan: perubahan ini bertujuan mengutamakan kemudahan perbandingan statistik antar-benua. Ridgeline plot lebih sesuai untuk menonjolkan bentuk distribusi, sedangkan boxplot lebih efektif jika tujuan utama visualisasi adalah membandingkan median, penyebaran, dan potensi pencilan IPM antar-benua.
Standard Deviation (SD): Error bar dapat dibuat menggunakan standar deviasi untuk menunjukkan tingkat penyebaran data terhadap nilai rata-ratanya. Semakin besar standar deviasi, semakin besar variasi data yang ditunjukkan. Batas error bar ditentukan dari nilai rata-rata dikurangi dan ditambah standar deviasi.
Standard Error (SE): Error bar menggunakan standard error untuk menunjukkan tingkat ketidakpastian estimasi rata-rata sampel. Nilai standard error diperoleh dari standar deviasi dibagi akar kuadrat jumlah sampel. Metode ini umumnya digunakan untuk menggambarkan ketelitian estimasi rata-rata.
Confidence Interval (CI): Error bar dapat menggunakan interval kepercayaan, misalnya 95%, untuk menunjukkan rentang nilai yang masuk akal bagi parameter populasi berdasarkan data sampel. Metode ini membantu pembaca memahami ketidakpastian estimasi dan dapat digunakan untuk data persentase dengan perhitungan yang sesuai.
Menggunakan RStudio: Error bar dapat ditambahkan
pada diagram batang menggunakan fungsi geom_errorbar() dari
package ggplot2. Pengguna perlu menentukan batas bawah dan
batas atas error bar melalui parameter ymin dan
ymax, berdasarkan hasil perhitungan statistik yang
digunakan.
Menggunakan Python: Error bar dapat ditambahkan
menggunakan fungsi errorbar() dari library Matplotlib.
Fungsi ini memungkinkan pengguna menampilkan garis vertikal beserta
ujungnya untuk menggambarkan rentang variasi atau ketidakpastian
nilai.
Menggunakan Microsoft Excel: Error bar dapat ditampilkan dengan memilih grafik, membuka menu Chart Elements, kemudian memilih Error Bars. Pengguna dapat menentukan jenis error bar yang tersedia atau memasukkan nilai positif dan negatif secara khusus melalui menu More Options.
library(ggplot2)
# Data simulasi
data <- data.frame(
pupuk = c("Tanpa pupuk", "Kompos", "NPK", "Kompos + NPK"),
rata_rata = c(18.4, 22.1, 25.6, 28.3),
error = c(1.8, 2.1, 1.6, 2.0)
)
# Membuat grafik dengan error bar
ggplot(data, aes(x = pupuk, y = rata_rata)) +
geom_col(
fill = "#B9DCD6",
width = 0.65
) +
geom_errorbar(
aes(
ymin = rata_rata - error,
ymax = rata_rata + error
),
width = 0.15,
color = "#267D72",
linewidth = 0.8
) +
geom_point(
color = "#267D72",
size = 2
) +
labs(
title = "Pengaruh Jenis Pupuk terhadap Tinggi Tanaman",
x = "Jenis Pupuk",
y = "Rata-rata Tinggi Tanaman (cm)",
caption = "Sumber: Data simulasi"
) +
scale_y_continuous(
limits = c(0, 35),
breaks = seq(0, 35, 5)
) +
theme_minimal(base_size = 12) +
theme(
plot.title = element_text(
face = "bold",
hjust = 0.5
),
panel.grid.minor = element_blank(),
panel.grid.major.x = element_blank()
)library(igraph)
# Contoh volume perdagangan (ilustrasi)
perdagangan <- data.frame(
asal = c("Indonesia", "Indonesia", "Indonesia",
"Thailand", "Thailand", "Malaysia",
"Malaysia", "Singapore", "Singapore",
"Philippines", "Cambodia"),
tujuan = c("Singapore", "Malaysia", "Philippines",
"Singapore", "Malaysia", "Singapore",
"Thailand", "Malaysia", "Indonesia",
"Indonesia", "Thailand"),
volume = c(800, 650, 400, 500, 450, 550,
300, 600, 750, 250, 100)
)
# Membuat jaringan perdagangan
g <- graph_from_data_frame(perdagangan, directed = TRUE)
# Posisi negara mengikuti Gambar 9.9
posisi <- matrix(c(
0, 2, # Cambodia
3.5, 2, # Thailand
7, 3.5, # Singapore
10, 2, # Malaysia
7, 6, # Indonesia
9, 6.3 # Philippines
), ncol = 2, byrow = TRUE)
rownames(posisi) <- c(
"Cambodia", "Thailand", "Singapore",
"Malaysia", "Indonesia", "Philippines"
)
# Ketebalan panah berdasarkan volume
E(g)$width <- 1 + 4 * E(g)$volume / max(E(g)$volume)
# Warna panah berdasarkan volume
E(g)$color <- ifelse(
E(g)$volume >= 600, "#C92F4B",
ifelse(E(g)$volume >= 300, "#159BC2", "#69C5DC")
)
# Pisahkan arah panah yang bolak-balik
E(g)$curved <- curve_multiple(g, start = 0.15)
# Ukuran titik negara
V(g)$size <- 32
V(g)$color <- "#078CB2"
V(g)$frame.color <- "#17627A"
V(g)$label.color <- "black"
V(g)$label.cex <- 0.9
V(g)$label.font <- 1
# Visualisasi
plot(
g,
layout = posisi[V(g)$name, ],
rescale = FALSE,
xlim = c(-1, 11.5),
ylim = c(0.5, 7.5),
asp = 0,
vertex.size = 70,
vertex.label = V(g)$name,
vertex.label.dist = 0.8,
edge.width = E(g)$width,
edge.color = E(g)$color,
edge.arrow.size = 0.8,
edge.arrow.width = 1.2,
edge.curved = E(g)$curved,
edge.label = NA,
main = "Visualisasi Volume Perdagangan Antarnegara"
)
legend(
"topleft",
legend = c("Volume tinggi (≥600)",
"Volume sedang (300–599)",
"Volume rendah (<300)"),
col = c("#C92F4B", "#159BC2", "#69C5DC"),
lwd = c(4, 3, 2),
bty = "n",
cex = 0.8
)Perbaikan tersebut dilakukan karena visualisasi awal belum menunjukkan perbedaan volume perdagangan secara jelas. Garis yang memiliki ketebalan serupa menyulitkan pembaca dalam membandingkan besarnya volume perdagangan antarnegara. Penumpukan garis dan label angka juga dapat mengurangi keterbacaan diagram. Oleh karena itu, penggunaan variasi ketebalan dan warna diharapkan dapat memperjelas informasi kuantitatif, sedangkan pengaturan tata letak dan pengurangan label bertujuan mengurangi kepadatan visual. Penambahan legenda diperlukan agar pembaca dapat memahami makna setiap elemen yang digunakan dalam visualisasi.
Perbaikan visualisasi pada Gambar 9.9 dilakukan dengan mempertahankan bentuk network diagram untuk menggambarkan hubungan perdagangan antarnegara ASEAN. Ketebalan garis disesuaikan dengan volume perdagangan, sedangkan warna garis dibedakan menjadi tiga kategori, yaitu volume tinggi, sedang, dan rendah. Tata letak simpul yang merepresentasikan negara juga diatur agar hubungan perdagangan lebih mudah diamati. Selain itu, label angka pada garis dikurangi atau dihilangkan untuk menghindari tumpang tindih informasi. Legenda ditambahkan untuk menjelaskan arti warna dan ketebalan garis, sedangkan nilai volume perdagangan secara terperinci dapat disajikan dalam tabel pendukung.
Pada visualisasi yang telah diperbaiki, simpul menunjukkan negara-negara ASEAN, sedangkan garis berarah menggambarkan aliran perdagangan dari negara asal menuju negara tujuan. Ketebalan garis menunjukkan besarnya volume perdagangan, sehingga garis yang lebih tebal merepresentasikan volume perdagangan yang lebih besar. Warna garis membantu membedakan kategori volume perdagangan tinggi, sedang, dan rendah sesuai dengan legenda. Melalui visualisasi ini, pembaca dapat mengidentifikasi hubungan perdagangan yang relatif dominan serta membandingkan volume perdagangan antarnegara dengan lebih mudah. Namun, penentuan negara atau hubungan perdagangan yang memiliki volume terbesar harus didasarkan pada data perdagangan aktual yang digunakan.
# PETA PERSEBARAN PERSENTASE PENDUDUK MISKIN DI INDONESIA 2020
# 1. Memanggil package
library(sf)
library(ggplot2)
library(dplyr)
library(stringr)
library(scales)
# 2. Menentukan folder kerja
setwd("D:/DWI ERZALIANTI/MAGISTER STATISTIKA/Semester 3/Data Visualisasi/Data/Lampiran_Excel")
# 3. Membaca peta GeoJSON
peta <- st_read("indonesia-38-provinces.geojson")## Reading layer `indonesia-38-prov-geo' from data source
## `D:\DWI ERZALIANTI\MAGISTER STATISTIKA\Semester 3\Data Visualisasi\Data\Lampiran_Excel\indonesia-38-provinces.geojson'
## using driver `GeoJSON'
## Simple feature collection with 38 features and 3 fields
## Geometry type: MULTIPOLYGON
## Dimension: XY
## Bounding box: xmin: 95.19355 ymin: -10.93017 xmax: 141.02 ymax: 5.907129
## Geodetic CRS: WGS 84
# 4. Membaca data BPS
data_bps <- read.csv(
"Jumlah dan Persentase Penduduk Miskin Menurut Provinsi, 2020.csv",
stringsAsFactors = FALSE,
check.names = TRUE
)
# 5. Memilih persentase penduduk miskin Maret 2020
data_persen <- data_bps %>%
select(
Provinsi,
Persentase.Penduduk.Miskin...Maret
) %>%
rename(
persentase_miskin = Persentase.Penduduk.Miskin...Maret
) %>%
mutate(
Provinsi = str_to_upper(str_squish(Provinsi)),
persentase_miskin = as.numeric(
str_replace(as.character(persentase_miskin), ",", ".")
)
)
# 6. Menyamakan penamaan provinsi
# Nama pada peta GeoJSON mungkin berbeda dari nama pada data BPS.
# Periksa nama kolom dan nama provinsi di peta terlebih dahulu.
names(peta)## [1] "id" "KODE_PROV" "PROVINSI" "geometry"
## [1] "ACEH" "BALI"
## [3] "BANTEN" "BENGKULU"
## [5] "DI YOGYAKARTA" "DKI JAKARTA"
## [7] "GORONTALO" "INDONESIA"
## [9] "JAMBI" "JAWA BARAT"
## [11] "JAWA TENGAH" "JAWA TIMUR"
## [13] "KALIMANTAN BARAT" "KALIMANTAN SELATAN"
## [15] "KALIMANTAN TENGAH" "KALIMANTAN TIMUR"
## [17] "KALIMANTAN UTARA" "KEPULAUAN BANGKA BELITUNG"
## [19] "KEPULAUAN RIAU" "LAMPUNG"
## [21] "MALUKU" "MALUKU UTARA"
## [23] "NUSA TENGGARA BARAT" "NUSA TENGGARA TIMUR"
## [25] "PAPUA" "PAPUA BARAT"
## [27] "RIAU" "SULAWESI BARAT"
## [29] "SULAWESI SELATAN" "SULAWESI TENGAH"
## [31] "SULAWESI TENGGARA" "SULAWESI UTARA"
## [33] "SUMATERA BARAT" "SUMATERA SELATAN"
## [35] "SUMATERA UTARA"
# 7. Sesuaikan bagian ini berdasarkan nama kolom provinsi pada GeoJSON.
peta <- peta %>%
mutate(
Provinsi = str_to_upper(str_squish(PROVINSI))
)
# 8. Menyamakan beberapa nama provinsi yang mungkin berbeda
# Penyesuaian ini berlaku jika nama-nama tersebut memang ada di data.
peta <- peta %>%
mutate(
Provinsi = recode(
Provinsi,
"DAERAH KHUSUS IBUKOTA JAKARTA" = "DKI JAKARTA",
"DAERAH ISTIMEWA YOGYAKARTA" = "DI YOGYAKARTA",
"BANGKA BELITUNG" = "KEP. BANGKA BELITUNG",
"KEPULAUAN BANGKA BELITUNG" = "KEP. BANGKA BELITUNG",
"KEPULAUAN RIAU" = "KEP. RIAU",
"NANGGROE ACEH DARUSSALAM" = "ACEH",
.default = Provinsi
)
)
# 9. Menggabungkan data persentase dengan peta
peta_bps <- peta %>%
left_join(data_persen, by = "Provinsi")
# 10. Memeriksa apakah ada provinsi yang belum memiliki data
peta_bps %>%
st_drop_geometry() %>%
filter(is.na(persentase_miskin)) %>%
select(Provinsi)# 11. Membuat peta tematik yang diperbaiki
ggplot(peta_bps) +
geom_sf(
aes(fill = persentase_miskin),
color = "white",
linewidth = 0.25
) +
scale_fill_gradientn(
colours = c(
"#FFF7BC",
"#FEC44F",
"#FE9929",
"#EC7014",
"#CC4C02",
"#8C2D04"
),
name = "Penduduk miskin\n(%)",
labels = scales::label_number(
decimal.mark = ",",
accuracy = 0.1
),
na.value = "grey85"
) +
labs(
title = "Persentase Penduduk Miskin Menurut Provinsi",
subtitle = "Indonesia, Maret 2020",
caption = "Sumber: Badan Pusat Statistik (BPS), diolah."
) +
coord_sf(datum = NA) +
theme_void() +
theme(
plot.title = element_text(
size = 15,
face = "bold",
hjust = 0.5
),
plot.subtitle = element_text(
size = 11,
hjust = 0.5,
color = "grey30"
),
plot.caption = element_text(
size = 9,
color = "grey35",
hjust = 1
),
legend.position = "right",
legend.title = element_text(
size = 10,
face = "bold"
),
legend.text = element_text(size = 9),
plot.margin = margin(12, 12, 12, 12)
)Peta persentase penduduk miskin menurut provinsi di Indonesia tahun 2020 diperbaiki agar informasi yang disajikan lebih mudah dipahami oleh masyarakat umum. Pada peta sebelumnya, penggunaan gradasi warna yang kurang kontras dapat menyebabkan perbedaan persentase penduduk miskin antarprovinsi sulit dibedakan. Selain itu, informasi mengenai judul, periode data, legenda, dan sumber data perlu ditampilkan secara jelas agar pembaca dapat memahami informasi yang disajikan tanpa harus memiliki pengetahuan statistik yang mendalam. Oleh karena itu, perbaikan dilakukan dengan memperhatikan keterbacaan, kejelasan informasi, dan kemudahan dalam membandingkan kondisi antarwilayah.
Perbaikan dilakukan dengan mengubah gradasi warna menjadi kuning muda, jingga, hingga merah tua agar perbedaan nilai persentase penduduk miskin antarprovinsi terlihat lebih kontras. Warna yang semakin gelap menunjukkan persentase penduduk miskin yang relatif lebih tinggi, sedangkan warna yang lebih terang menunjukkan persentase yang relatif lebih rendah. Garis batas antarprovinsi dipertahankan menggunakan warna putih dengan ketebalan tipis agar batas wilayah tetap terlihat tanpa mengganggu tampilan peta. Selain itu, judul diperjelas menjadi “Persentase Penduduk Miskin Menurut Provinsi”, dengan keterangan periode “Indonesia, Maret 2020”. Legenda dilengkapi dengan satuan persen (%) dan sumber data dicantumkan pada bagian bawah peta. Tampilan peta juga disederhanakan dengan menghilangkan elemen visual yang tidak diperlukan sehingga perhatian pembaca lebih terarah pada persebaran data.
Peta tersebut menggambarkan persebaran persentase penduduk miskin antarprovinsi di Indonesia pada Maret 2020. Perbedaan gradasi warna menunjukkan bahwa persentase penduduk miskin tidak sama di setiap provinsi. Provinsi dengan warna merah tua memiliki persentase penduduk miskin yang relatif lebih tinggi dibandingkan provinsi dengan warna kuning muda. Sebaliknya, provinsi dengan warna yang lebih terang menunjukkan persentase yang relatif lebih rendah. Dengan demikian, peta ini membantu pembaca mengidentifikasi wilayah yang memiliki persentase penduduk miskin relatif tinggi maupun rendah serta melihat variasi kondisi kemiskinan secara geografis. Namun, peta ini hanya menunjukkan perbedaan persentase antarprovinsi dan tidak menjelaskan penyebab terjadinya kemiskinan. Wilayah yang berwarna abu-abu menunjukkan data yang belum tersedia atau belum berhasil dicocokkan, sehingga tidak dapat langsung diinterpretasikan sebagai wilayah dengan tingkat kemiskinan tertentu.