library(readxl)
## Warning: package 'readxl' was built under R version 4.3.2
jumlah_penduduk <- read_xlsx("C:\\Users\\ASUS\\Documents\\Semester 4\\Visualisasi Data\\Tugas\\Individu\\DATA.xlsx", sheet="JMLHPNDDK")
pengeluaran_beras <- read_xlsx("C:\\Users\\ASUS\\Documents\\Semester 4\\Visualisasi Data\\Tugas\\Individu\\DATA.xlsx", sheet="Beras")
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.3.2
barchart_penduduk <- ggplot(jumlah_penduduk, aes(x = reorder(Nama, Jumlah), y = Jumlah)) +
geom_bar(stat = "identity", fill = "skyblue") +
labs(title = "Jumlah Penduduk per Kota/Kabupaten",
x = "Kota/Kabupaten",
y = "Jumlah Penduduk") +
theme(axis.text.x = element_text(hjust = 1),
plot.title = element_text(hjust = 0.5))+
coord_flip()
Berdasarkan bar chart di atas, kita bisa mendapatkan informasi-informasi berharga. Ada 5 Kabupaten/Kota dengan jumlah penduduk terbanyak, yaitu Depok, Bekasi, Bandung, Bogor, dan Tasikmalaya. Dari 5 kabupaten/kota tersebut, akan digali informasi lebih dalam lagi terkait pengeluaran dan total konsumsi bahan pangan masing-masing kabupaten/kota.
lolipopchart <-
ggplot(pengeluaran_beras, aes(x = reorder(Nama, Pengeluaran), y = Pengeluaran)) +
geom_segment(aes(xend = Nama, yend = 0), color = "lightgreen") +
geom_point(color = "lightgreen", size = 3) +
labs(title = "Rata-Rata Pengeluaran Konsumsi Beras per Kota/Kabupaten",
x = "Kota/Kabupaten",
y = "Rata-Rata Pengeluaran") +
theme(axis.text.x = element_text(hjust = 1),
plot.title = element_text(hjust = 0.5))+
theme_classic()
Lolipop chart menunjukkan nilai rata-rata pengeluaran keluarga per kabupaten/kota untuk pembelian beras. Kota Bogor adalah kota yang memiliki rata-rata pengeluaran konsumsi beras paling tinggi meskipun jumlah penduduknya berada pada urutan tertinggi ke-4. Sedangkan, Depok yang memiliki jumlah penduduk paling tinggi, memiliki rata-rata pengeluaran konsumsi beras ke-2. Hal ini bisa disebabkan adanya perbedaan harga beras. Mungkin saja harga beras di Kota Bogor lebih tinggi dibandingkan keempat kabupaten/kota lainnya.
dataikandaging <- read_xlsx("C:\\Users\\ASUS\\Documents\\Semester 4\\Visualisasi Data\\Tugas\\Individu\\DATA.xlsx", sheet="Stacked")
library(ggplot2)
ggplot(dataikandaging, aes(x = Nama)) +
geom_bar(aes(y = Daging, fill = "Daging"), position = "stack", stat = "identity") +
geom_bar(aes(y = Ikan, fill = "Ikan"), position = "stack", stat = "identity") +
labs(title = "Konsumsi Ikan dan Daging per Kota/Kabupaten",
x = "Kota/Kabupaten",
y = "Jumlah") +
scale_fill_manual(name = "Jenis", values = c(Daging = "lightpink", Ikan = "lightgreen")) +
theme(axis.text.x = element_text(hjust = 1),
plot.title = element_text(hjust = 0.5))+
theme_bw()
Berdasarkan stacked bar chart dari jumlah konsumsi ikan dan daging dari 5 kabupaten/kota tersebut, kita dapat mengetahui bahwa hanya Bandung yang memiliki jumlah konsumsi daging lebih tinggi dibandingkan ikan. Sedangkan 4 kabupaten/kota lainnya memiliki jumlah konsumsi ikan yang lebih tinggi dibandingkan daging.Hal ini mungkin disebabkan oleh preferensi makanan masing-masing kabupaten/kota.
databeras <- read_xlsx("C:\\Users\\ASUS\\Documents\\Semester 4\\Visualisasi Data\\Tugas\\Individu\\DATA.xlsx", sheet="Density")
library(reshape2)
## Warning: package 'reshape2' was built under R version 4.3.3
data_long <- melt(databeras)
## No id variables; using all as measure variables
ggplot(data_long, aes(x = value, fill = variable)) +
geom_density(alpha = 0.5) +
labs(title = "Density Plot Konsumsi Beras dari Pembelian per Kota/Kabupaten",
x = "Konsumsi Beras (kg)",
y = "Density") +
scale_fill_manual(values = c("red", "blue", "green", "orange", "purple"),
name = "Kota/Kabupaten",
labels = c("Depok", "Bekasi", "Bandung", "Kota Bogor", "Tasikmalaya")) +
theme_minimal()
## Warning: Removed 2031 rows containing non-finite outside the scale range
## (`stat_density()`).
Density plot memberikan informasi bagaimana tingkat kepekatan sebaran data pada tiap kabupaten/kota. Terlihat bahwa setiap kabupaten/kota memiliki sebaran yang serupa. Grafik Kota Bogor lebih sempit dibandingkan kabupaten/kota lainnya. Hal ini menandakan bahwa ragam data di Kota Bogor lebih rendah dibandingkan yang lainnya. Kemudian, setiap kabupaten/kota kebanyakan mengonsumsi beras dari pembelian pada interval 0 - 5 kg. Hal ini bisa terjadi karena kebanyakan beras yang dikonsumsi bukan berasal dari pembelian tetapi berasal dari produksi sendiri atau berasal dari pemberian.
databoxplot <- read_xlsx("C:\\Users\\ASUS\\Documents\\Semester 4\\Visualisasi Data\\Tugas\\Individu\\DATA.xlsx", sheet="Boxplot Bogor")
data_long <- reshape2::melt(databoxplot)
## No id variables; using all as measure variables
ggplot(data_long, aes(x = variable, y = value, fill = variable)) +
geom_boxplot() +
labs(title = "Boxplot Konsumsi Sapi dan Ayam di Kota Bogor",
x = "Jenis Daging",
y = "Jumlah Konsumsi") +
scale_fill_manual(values = c("skyblue", "lightpink")) +
theme_minimal() +
theme(plot.title = element_text(hjust = 0.5)) +
theme_bw()
## Warning: Removed 423 rows containing non-finite outside the scale range
## (`stat_boxplot()`).
Kedua boxplot di atas menjulur ke kanan, menunjukkan bahwa distribusi jumlah konsumsi daging sapi dan daging ayam memiliki nilai-nilai ekstrim yang tinggi. Beberapa keluarga di Kota Bogor mengonsumsi daging sapi dan ayam dengan jumlah yang cukup tinggi dibandingkan mayoritas keluarga. Selain itu, rata-rata konsumsi daging sapi lebih kecil dibandingkan daging ayam. Hal ini diindikasikan oleh posisi garis tengah boxplot yang lebih rendah untuk daging sapi dibandingkan daging ayam. Keluarga di Kota Bogor cenderung mengonsumsi lebih banyak daging ayam dibandingkan daging sapi karena preferensi makanan, harga relatif kedua jenis daging, atau kebiasaan konsumsi masyarakat. Kemudian, boxplot daging sapi lebih pendek dibandingkan daging ayam. Hal ini menunjukkan bahwa jumlah konsumsi daging sapi memiliki variasi yang lebih kecil dibandingkan daging ayam di Kota Bogor.
datapiechart <- read_xlsx("C:\\Users\\ASUS\\Documents\\Semester 4\\Visualisasi Data\\Tugas\\Individu\\DATA.xlsx", sheet="Pie chart")
ggplot(datapiechart, aes(x = "", y = Total, fill = Jenis)) +
geom_bar(width = 1, stat = "identity") +
geom_text(aes(label = scales::percent(Total/sum(Total))), position = position_stack(vjust = 0.5), size = 3) +
coord_polar(theta = "y") +
scale_fill_manual(values = c("skyblue", "lightpink", "lightgreen", "orange")) +
theme_void() +
theme(legend.position = "right") +
ggtitle("Pie Chart Total Pembelian Kacang-Kacangan di Kota Bogor") +
theme(plot.title = element_text(hjust = 0.5))
Berdasarkan pie chart di atas, tergambar bagaimana komposisi total pembelian kacang-kacangan di Kota Bogor. Tahu dan tempe mendominasi dengan proporsi masing-masing sebesar 42.07% dan 42.33%. Hal ini menunjukkan bahwa tahu dan tempe adalah produk yang sangat disukai keluarga. Meskipun oncom dan kacang memiliki proporsi yang kecil, tetapi hal ini menandakan bahwa variasi oncom dan kacang tetap diperlukan untuk memenuhi selera konsumen yang beragam.
options(repos = c(CRAN = "https://cloud.r-project.org/"))
install.packages("treemap")
## Installing package into 'C:/Users/ASUS/AppData/Local/R/win-library/4.3'
## (as 'lib' is unspecified)
## package 'treemap' successfully unpacked and MD5 sums checked
##
## The downloaded binary packages are in
## C:\Users\ASUS\AppData\Local\Temp\RtmpQRJGNe\downloaded_packages
library(treemap)
## Warning: package 'treemap' was built under R version 4.3.3
library(readxl)
library(tidyverse)
## Warning: package 'tidyverse' was built under R version 4.3.2
## Warning: package 'dplyr' was built under R version 4.3.2
## Warning: package 'lubridate' was built under R version 4.3.2
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.4 ✔ readr 2.1.4
## ✔ forcats 1.0.0 ✔ stringr 1.5.0
## ✔ lubridate 1.9.3 ✔ tibble 3.2.1
## ✔ purrr 1.0.2 ✔ tidyr 1.3.0
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
datatreemap <- read_xlsx("C:\\Users\\ASUS\\Documents\\Semester 4\\Visualisasi Data\\Tugas\\Individu\\DATA.xlsx", sheet = "treemap")
treemap(datatreemap, index=c("Nama", "Jenis"), vSize="Total", title="Treemap Konsumsi", palette="Set3",
fontsize.labels=c(10, 8), fontface.labels=c(1, 3), align.labels=list(c("center", "center"), c("left", "top")),
fontcolor.labels = "white")
Treemap di atas menggambarkan total konsumsi bahan pangan di 5 kabupaten/kota dengan jumlah penduduk tertinggi berdasarkan jenis bahan pangan. Berdasarkan ukuran kotak, treemap tersebut mencerminkan proporsi total konsumsi tertinggi adalah Kota Bogor. Terlihat juga bahwa setiap kabupaten/kota mengonsumsi jenis padi dan umbi paling banyak dibandingkan kategori lain. Hal ini jelas karena padi dan umbi merupakan bagian integral dari pola makanan masyarakat.